summaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorAleksandar Ristovski <aristovski@qnx.com>2008-05-01 19:31:52 +0000
committerAleksandar Ristovski <aristovski@qnx.com>2008-05-01 19:31:52 +0000
commitf7e2c5431c5401d1ce6aac33bf857902a37ec9b1 (patch)
tree548b437bd362481e52d5c179e958f67683b65861 /gdb/gdbarch.h
parentec7d7c038cbdd93780ff6ee18823b0285c55f0d6 (diff)
downloadgdb-f7e2c5431c5401d1ce6aac33bf857902a37ec9b1.tar.gz
PR gdb/2343
* corelow.c (core_open): Use gdbarch_target_signal_from_host to translate signal numeric value from the target to GDB's enum target_signal. * gdbarch.c, gdbarch.h: Regenerated. * gdbarch.sh: Added two new functions target_signal_from_host and target_signal_to_host. * target.h (default_target_signal_from_host, default_target_signal_to_host): New functions - declarations. * signals/signals.c (struct gdbarch): New declaration. (default_target_signal_to_host, default_target_signal_from_host): New functions.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index e568993dc86..baba7c7cd5f 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -690,6 +690,20 @@ extern void set_gdbarch_static_transform_name (struct gdbarch *gdbarch, gdbarch_
extern int gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch);
extern void set_gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch, int sofun_address_maybe_missing);
+/* Signal translation: translate inferior's signal (host's) number into
+ GDB's representation. */
+
+typedef enum target_signal (gdbarch_target_signal_from_host_ftype) (struct gdbarch *gdbarch, int signo);
+extern enum target_signal gdbarch_target_signal_from_host (struct gdbarch *gdbarch, int signo);
+extern void set_gdbarch_target_signal_from_host (struct gdbarch *gdbarch, gdbarch_target_signal_from_host_ftype *target_signal_from_host);
+
+/* Signal translation: translate GDB's signal number into inferior's host
+ signal number. */
+
+typedef int (gdbarch_target_signal_to_host_ftype) (struct gdbarch *gdbarch, enum target_signal ts);
+extern int gdbarch_target_signal_to_host (struct gdbarch *gdbarch, enum target_signal ts);
+extern void set_gdbarch_target_signal_to_host (struct gdbarch *gdbarch, gdbarch_target_signal_to_host_ftype *target_signal_to_host);
+
extern struct gdbarch_tdep *gdbarch_tdep (struct gdbarch *gdbarch);