This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/7] New function windows_init_abi

On 10/01/2013 02:23 AM, Pedro Alves wrote:
> arm-wince-pe.c:arm_wince_init_abi should call windows_init_abi too.
> That fact that that doesn't call
> set_gdbarch_iterate_over_objfiles_in_search_order today looks like
> exactly the sort of issue that a patch like this one would prevent.

windows-tdep.o is not linked for arm-wince-pe target.  In

arm*-wince-pe | arm*-*-mingw32ce*)
	# Target: ARM based machine running Windows CE (win32)
	gdb_target_obs="arm-tdep.o arm-wince-tdep.o"

I am not sure the TIB stuff in windows-tdep.c can be applicable to ARM
wince target.  It was discussed in the review to the patch

  [RFC-v2] Add windows Thread Information Block

windows-tdep.c looks quite target-independent, except some comments,
in which "fs" and "gs" is mentioned.  How about this patch below?
windows-tdep.o is linked in target arm*-wince-pe and
arm*-*-mingw32ce*, supposing set_solib_ops has been moved to
> The patch looks OK to me with that change.
> ['set_solib_ops (gdbarch, &solib_target_so_ops)' should be able to
> move to windows_init_abi too.]

OK.  I'll move it to windows_init_abi in the updated patch.

Yao (éå)


2013-10-01  Yao Qi  <>

	* arm-wince-tdep.c: Remove inclusion of "solib.h" and
	"solib-target.h".  Include "windows-tdep.h".
	(arm_wince_init_abi): Call windows_init_abi.  Remove call to
	set_solib_ops and set_gdbarch_has_dos_based_file_system.
	* configure.tgt (arm*-wince-pe | arm*-*-mingw32ce*): Append
	windows-tdep.o to gdb_target_obs.
 gdb/arm-wince-tdep.c |   11 +++--------
 gdb/configure.tgt    |    2 +-
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/gdb/arm-wince-tdep.c b/gdb/arm-wince-tdep.c
index 61569e3..163ec73 100644
--- a/gdb/arm-wince-tdep.c
+++ b/gdb/arm-wince-tdep.c
@@ -22,13 +22,12 @@
 #include "osabi.h"
 #include "gdbcore.h"
 #include "target.h"
-#include "solib.h"
-#include "solib-target.h"
 #include "frame.h"
 #include "gdb_string.h"
 #include "arm-tdep.h"
+#include "windows-tdep.h"
 static const gdb_byte arm_wince_le_breakpoint[] = { 0x10, 0x00, 0x00, 0xe6 };
 static const gdb_byte arm_wince_thumb_le_breakpoint[] = { 0xfe, 0xdf };
@@ -116,6 +115,8 @@ arm_wince_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+  windows_init_abi (info, gdbarch);
   tdep->arm_breakpoint = arm_wince_le_breakpoint;
   tdep->arm_breakpoint_size = sizeof (arm_wince_le_breakpoint);
   tdep->thumb_breakpoint = arm_wince_thumb_le_breakpoint;
@@ -130,8 +131,6 @@ arm_wince_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* On ARM WinCE char defaults to signed.  */
   set_gdbarch_char_signed (gdbarch, 1);
-  /* Shared library handling.  */
-  set_solib_ops (gdbarch, &solib_target_so_ops);
   set_gdbarch_skip_trampoline_code (gdbarch, arm_pe_skip_trampoline_code);
   /* Single stepping.  */
@@ -139,10 +138,6 @@ arm_wince_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* Skip call to __gccmain that gcc places in main.  */
   set_gdbarch_skip_main_prologue (gdbarch, arm_wince_skip_main_prologue);
-  /* Canonical paths on this target look like `\Windows\coredll.dll',
-     for example.  */
-  set_gdbarch_has_dos_based_file_system (gdbarch, 1);
 static enum gdb_osabi
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 95c7217..ea0faf1 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -83,7 +83,7 @@ am33_2.0*-*-linux*)
 arm*-wince-pe | arm*-*-mingw32ce*)
 	# Target: ARM based machine running Windows CE (win32)
-	gdb_target_obs="arm-tdep.o arm-wince-tdep.o"
+	gdb_target_obs="arm-tdep.o arm-wince-tdep.o windows-tdep.o"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]