aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ.T. Conklin <jtc@acorntoolworks.com>1994-10-25 16:55:44 +0000
committerJ.T. Conklin <jtc@acorntoolworks.com>1994-10-25 16:55:44 +0000
commit870ae9e6edaf9a55fc8801345bfe16dd16a4e71e (patch)
treec13927c88e8e38e84491f9eba8d1213cba4e33e7
parentfdfe873a8a88a9df1429628c1e4025c02a8f4487 (diff)
downloadfsf-binutils-gdb-870ae9e6edaf9a55fc8801345bfe16dd16a4e71e.zip
fsf-binutils-gdb-870ae9e6edaf9a55fc8801345bfe16dd16a4e71e.tar.gz
fsf-binutils-gdb-870ae9e6edaf9a55fc8801345bfe16dd16a4e71e.tar.bz2
* config/i386/tm-nbsd.h: Enable longjmp support.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/config/i386/tm-nbsd.h15
2 files changed, 18 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e905147..a916c6c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+Tue Oct 25 09:53:04 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
+
+ * config/i386/tm-nbsd.h: Enable longjmp support.
+
Sat Oct 22 03:41:13 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* valarith.c (value_binop): Take care of ANSI `value preserving'
diff --git a/gdb/config/i386/tm-nbsd.h b/gdb/config/i386/tm-nbsd.h
index 7cb2b87..8772b89 100644
--- a/gdb/config/i386/tm-nbsd.h
+++ b/gdb/config/i386/tm-nbsd.h
@@ -1,4 +1,4 @@
-/* Macro definitions for Sparc running under NetBSD.
+/* Macro definitions for i386 running under NetBSD.
Copyright 1994 Free Software Foundation, Inc.
This file is part of GDB.
@@ -23,4 +23,17 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "i386/tm-i386bsd.h"
#include "tm-nbsd.h"
+#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */
+#define JB_PC 0 /* Setjmp()'s return PC saved here */
+
+/* Figure out where the longjmp will land. Slurp the args out of the stack.
+ We expect the first arg to be a pointer to the jmp_buf structure from which
+ we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
+ This routine returns true on success */
+
+extern int
+get_longjmp_target PARAMS ((CORE_ADDR *));
+
+#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
+
#endif /* TM_NBSD_H */