aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/pa/tm-hppao.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-05-12 01:10:28 +0000
committerJeff Law <law@redhat.com>1995-05-12 01:10:28 +0000
commit2d2959e85259dd49a2be7c708e845df36432aa3b (patch)
treedee25a1b990617a5c05c40c1cf7ecc2ea9771a85 /gdb/config/pa/tm-hppao.h
parent511cd41cc182c50d1afa7793ca3fee2d20366b8f (diff)
downloadbinutils-2d2959e85259dd49a2be7c708e845df36432aa3b.zip
binutils-2d2959e85259dd49a2be7c708e845df36432aa3b.tar.gz
binutils-2d2959e85259dd49a2be7c708e845df36432aa3b.tar.bz2
* Support debugging using native MACH primitives on hppa*-*-osf*.
* configure.in: hppa*-*-osf* != hppa*-*-bsd* anymore. * config/pa/hppaosf.mh: New file. * config/pa/nm-hppao.h: Likewise. * hppam3-nat.c: Likewise. * config/pa/tm-hppao.h (PSW_SS): Define for single-stepping. (MACHINE_CPROC_*_OFFSET): Define. (TRACE_*): Define. (START_INFERIOR_TRAPS_EXPECTED): Delete definition.
Diffstat (limited to 'gdb/config/pa/tm-hppao.h')
-rw-r--r--gdb/config/pa/tm-hppao.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/gdb/config/pa/tm-hppao.h b/gdb/config/pa/tm-hppao.h
index e34201f..aab7274 100644
--- a/gdb/config/pa/tm-hppao.h
+++ b/gdb/config/pa/tm-hppao.h
@@ -2,6 +2,28 @@
Contributed by the Center for Software Science at the
University of Utah (pa-gdb-bugs@cs.utah.edu). */
+/* Define offsets to access CPROC stack when it does not have
+ * a kernel thread.
+ */
+#define MACHINE_CPROC_SP_OFFSET 20
+#define MACHINE_CPROC_PC_OFFSET 16
+#define MACHINE_CPROC_FP_OFFSET 12
+
+/*
+ * Software defined PSW masks.
+ */
+#define PSW_SS 0x10000000 /* Kernel managed single step */
+
+/* Thread flavors used in re-setting the T bit.
+ * @@ this is also bad for cross debugging.
+ */
+#define TRACE_FLAVOR HP800_THREAD_STATE
+#define TRACE_FLAVOR_SIZE HP800_THREAD_STATE_COUNT
+#define TRACE_SET(x,state) \
+ ((struct hp800_thread_state *)state)->cr22 |= PSW_SS
+#define TRACE_CLEAR(x,state) \
+ ((((struct hp800_thread_state *)state)->cr22 &= ~PSW_SS), 1)
+
/* For OSF1 (Should be close if not identical to BSD, but I haven't
tested it yet):
@@ -44,9 +66,6 @@
} \
}
-/* OSF1 needs an extra trap. I assume for the emulator startup (?!?) */
-#define START_INFERIOR_TRAPS_EXPECTED 3
-
/* OSF1 does not need the pc space queue restored. */
#define NO_PC_SPACE_QUEUE_RESTORE