aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-cygwin-tdep.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2004-06-29 18:17:41 +0000
committerJoel Brobecker <brobecker@gnat.com>2004-06-29 18:17:41 +0000
commitf7948b5f300d193d605b0cbfad727f23a145ff5c (patch)
treeedc9c0290f52fc9ce8b2ec30167a229c52f0508e /gdb/i386-cygwin-tdep.c
parentdaab125139b4e7aa0da07cd88070d4f3f147b06a (diff)
downloadgdb-f7948b5f300d193d605b0cbfad727f23a145ff5c.zip
gdb-f7948b5f300d193d605b0cbfad727f23a145ff5c.tar.gz
gdb-f7948b5f300d193d605b0cbfad727f23a145ff5c.tar.bz2
* i386-cygwin-tdep.c (i386-cygwin-tdep.c): New function.
(i386_cygwin_in_solib_call_trampoline): New function. (i386_cygwin_init_abi): Initialize the in_solib_call_trampoline and skip_trampoline_code gdbarch methods.
Diffstat (limited to 'gdb/i386-cygwin-tdep.c')
-rw-r--r--gdb/i386-cygwin-tdep.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/i386-cygwin-tdep.c b/gdb/i386-cygwin-tdep.c
index 443f8f7..9dc5b39 100644
--- a/gdb/i386-cygwin-tdep.c
+++ b/gdb/i386-cygwin-tdep.c
@@ -26,11 +26,27 @@
#include "i386-tdep.h"
+static CORE_ADDR
+i386_cygwin_skip_trampoline_code (CORE_ADDR pc)
+{
+ return i386_pe_skip_trampoline_code (pc, NULL);
+}
+
+static int
+i386_cygwin_in_solib_call_trampoline (CORE_ADDR pc, char *name)
+{
+ return (i386_pe_skip_trampoline_code (pc, name) != 0);
+}
+
static void
i386_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+ set_gdbarch_in_solib_call_trampoline (gdbarch,
+ i386_cygwin_in_solib_call_trampoline);
+ set_gdbarch_skip_trampoline_code (gdbarch, i386_cygwin_skip_trampoline_code);
+
tdep->struct_return = reg_struct_return;
}