aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2017-06-13 09:05:04 +0100
committerYao Qi <yao.qi@linaro.org>2017-06-13 09:05:04 +0100
commit032bb6eae8a0166f9b5d2eac6960383c532ef6d1 (patch)
treed72a89c489d540c36ca401825eb026d5a160b799
parenta0688fac4b1662e34a9a08e233112beb7403f642 (diff)
downloadgdb-032bb6eae8a0166f9b5d2eac6960383c532ef6d1.zip
gdb-032bb6eae8a0166f9b5d2eac6960383c532ef6d1.tar.gz
gdb-032bb6eae8a0166f9b5d2eac6960383c532ef6d1.tar.bz2
Move initialize_tdesc_mips* calls from mips-linux-nat.c to mips-linux-tdep.c
All target descriptions except mips initialization are called in -tdep.c, instead of -nat.c, so this patch moves mips target descriptions initialization to -tdep.c. Secondly, I want to change the target descriptions from pre-generated to dynamical creation, so I want to test that these pre-generated target descriptions equal to these dynamically created ones. Move target descriptions initialization to -tdep.c files so we can test them in any hosts (if they are still -nat.c, we can only test them on mips-linux host.). gdb: 2017-06-13 Yao Qi <yao.qi@linaro.org> * mips-linux-nat.c: Move include features/mips*-linux.c to mips-linux-tdep.c. (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls to mips-linux-tdep.c. * mips-linux-tdep.c: Include features/mips*-linux.c (_initialize_mips_linux_tdep): Call initialize_tdesc_mips* functions. * mips-linux-tdep.h (tdesc_mips_linux): Declare. (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare. (tdesc_mips64_dsp_linux): Declare.
-rw-r--r--gdb/ChangeLog13
-rw-r--r--gdb/mips-linux-nat.c11
-rw-r--r--gdb/mips-linux-tdep.c11
-rw-r--r--gdb/mips-linux-tdep.h6
4 files changed, 30 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2956819..c2bceeb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,16 @@
+2017-06-13 Yao Qi <yao.qi@linaro.org>
+
+ * mips-linux-nat.c: Move include features/mips*-linux.c to
+ mips-linux-tdep.c.
+ (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
+ to mips-linux-tdep.c.
+ * mips-linux-tdep.c: Include features/mips*-linux.c
+ (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
+ functions.
+ * mips-linux-tdep.h (tdesc_mips_linux): Declare.
+ (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
+ (tdesc_mips64_dsp_linux): Declare.
+
2017-06-12 Tom Tromey <tom@tromey.com>
* valprint.h (val_print_type_code_int): Remove.
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
index 8041d84..1fd3365 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -38,11 +38,6 @@
#include "nat/mips-linux-watch.h"
-#include "features/mips-linux.c"
-#include "features/mips-dsp-linux.c"
-#include "features/mips64-linux.c"
-#include "features/mips64-dsp-linux.c"
-
#ifndef PTRACE_GET_THREAD_AREA
#define PTRACE_GET_THREAD_AREA 25
#endif
@@ -803,10 +798,4 @@ triggers a breakpoint or watchpoint."),
linux_nat_add_target (t);
linux_nat_set_new_thread (t, mips_linux_new_thread);
-
- /* Initialize the standard target descriptions. */
- initialize_tdesc_mips_linux ();
- initialize_tdesc_mips_dsp_linux ();
- initialize_tdesc_mips64_linux ();
- initialize_tdesc_mips64_dsp_linux ();
}
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index ccfdcdf..f144a2e 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -40,6 +40,11 @@
#include "xml-syscall.h"
#include "gdb_signals.h"
+#include "features/mips-linux.c"
+#include "features/mips-dsp-linux.c"
+#include "features/mips64-linux.c"
+#include "features/mips64-dsp-linux.c"
+
static struct target_so_ops mips_svr4_so_ops;
/* This enum represents the signals' numbers on the MIPS
@@ -1739,4 +1744,10 @@ _initialize_mips_linux_tdep (void)
GDB_OSABI_LINUX,
mips_linux_init_abi);
}
+
+ /* Initialize the standard target descriptions. */
+ initialize_tdesc_mips_linux ();
+ initialize_tdesc_mips_dsp_linux ();
+ initialize_tdesc_mips64_linux ();
+ initialize_tdesc_mips64_dsp_linux ();
}
diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h
index 407b577..cca4798 100644
--- a/gdb/mips-linux-tdep.h
+++ b/gdb/mips-linux-tdep.h
@@ -105,3 +105,9 @@ enum {
/* Return 1 if MIPS_RESTART_REGNUM is usable. */
int mips_linux_restart_reg_p (struct gdbarch *gdbarch);
+
+/* Target descriptions. */
+extern struct target_desc *tdesc_mips_linux;
+extern struct target_desc *tdesc_mips64_linux;
+extern struct target_desc *tdesc_mips_dsp_linux;
+extern struct target_desc *tdesc_mips64_dsp_linux;