From f8baecdedd3fc12a64417d161cc4e42ab9df4771 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 7 Aug 2004 21:40:52 +0000 Subject: De-inline gdb_cpu_signal() because we need to convert the trap vectors related to breakpoints and single stepping into SIGTRAP so gdb(1) knows why the remote target has stopped. In particular, gdb(1) needs to know if the reason is something of its own doing. --- sys/ia64/ia64/gdb_machdep.c | 10 ++++++++++ sys/ia64/include/gdb_machdep.h | 8 +------- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'sys/ia64') diff --git a/sys/ia64/ia64/gdb_machdep.c b/sys/ia64/ia64/gdb_machdep.c index 8cf6085..62b4755 100644 --- a/sys/ia64/ia64/gdb_machdep.c +++ b/sys/ia64/ia64/gdb_machdep.c @@ -137,6 +137,16 @@ gdb_cpu_setreg(int regnum, register_t val) } int +gdb_cpu_signal(int vector, int dummy __unused) +{ + + if (vector == IA64_VEC_BREAK || vector == IA64_VEC_SINGLE_STEP_TRAP) + return (SIGTRAP); + /* Add 100 so GDB won't translate the vector into signal names. */ + return (vector + 100); +} + +int gdb_cpu_query(void) { #if 0 diff --git a/sys/ia64/include/gdb_machdep.h b/sys/ia64/include/gdb_machdep.h index 70ff840..1b957fb 100644 --- a/sys/ia64/include/gdb_machdep.h +++ b/sys/ia64/include/gdb_machdep.h @@ -40,15 +40,9 @@ gdb_cpu_regsz(int regnum) return ((regnum >= 128 && regnum < 256) ? 16 : 8); } -static __inline int -gdb_cpu_signal(int vector, int dummy __unused) -{ - /* Add 100 so GDB won't translate the vector into signal names. */ - return (vector + 100); -} - void *gdb_cpu_getreg(int, size_t *); void gdb_cpu_setreg(int, register_t); +int gdb_cpu_signal(int, int); int gdb_cpu_query(void); #endif /* !_MACHINE_GDB_MACHDEP_H_ */ -- cgit v1.1