This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 3/7] New function windows_init_abi
- From: Yao Qi <yao at codesourcery dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Tue, 1 Oct 2013 14:46:23 +0800
- Subject: Re: [PATCH 3/7] New function windows_init_abi
- Authentication-results: sourceware.org; auth=none
- References: <1378641807-24256-1-git-send-email-yao at codesourcery dot com> <1379645226-8719-1-git-send-email-yao at codesourcery dot com> <1379645226-8719-4-git-send-email-yao at codesourcery dot com> <5249C19D dot 6060601 at redhat dot com>
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
configure.target:
arm*-wince-pe | arm*-*-mingw32ce*)
# Target: ARM based machine running Windows CE (win32)
gdb_target_obs="arm-tdep.o arm-wince-tdep.o"
build_gdbserver=yes
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
https://sourceware.org/ml/gdb-patches/2009-07/msg00010.html
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
windows_init_abi.
>
> 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 (éå)
gdb:
2013-10-01 Yao Qi <yao@codesourcery.com>
* 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"
build_gdbserver=yes
;;
arm*-*-linux*)
--
1.7.7.6