From 17a20d2fac51aa0e9de43ee1678ba3a0f94babec Mon Sep 17 00:00:00 2001 From: jkh Date: Tue, 17 Jan 1995 13:52:39 +0000 Subject: Here's a patch to gdb-4.13 to add dyadic frames, as per J"org Wunsch. Could somebody apply it? Submitted by: gj --- gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c | 14 +++++++++++++- gnu/usr.bin/binutils/gdb/i386/tm.h | 9 +++++++++ gnu/usr.bin/gdb/gdb/freebsd-nat.c | 14 +++++++++++++- gnu/usr.bin/gdb/gdb/tm.h | 9 +++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c b/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c index 6fb207dc..bc58924 100644 --- a/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c +++ b/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: freebsd-nat.c,v 1.2 1994/12/30 23:25:44 jkh Exp $ + $Id: freebsd-nat.c,v 1.3 1994/12/31 17:00:09 bde Exp $ */ #include @@ -297,6 +297,18 @@ i386_float_info () print_387_status (fpstatep->sv_ex_sw, (struct env387 *)fpstatep); } +#ifdef SETUP_ARBITRARY_FRAME +FRAME +setup_arbitrary_frame (numargs, args) +int numargs; +unsigned int *args; +{ + if (numargs > 2) + error ("Too many args in frame specification"); + return create_new_frame ((CORE_ADDR)args[0], (CORE_ADDR)args[1]); +} +#endif + #ifdef KERNEL_DEBUG #include #include diff --git a/gnu/usr.bin/binutils/gdb/i386/tm.h b/gnu/usr.bin/binutils/gdb/i386/tm.h index b3b05db..1c90483 100644 --- a/gnu/usr.bin/binutils/gdb/i386/tm.h +++ b/gnu/usr.bin/binutils/gdb/i386/tm.h @@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifndef _FREEBSD_TM_H_ +#define _FREEBSD_TM_H_ /* Override number of expected traps from sysv. */ #define START_INFERIOR_TRAPS_EXPECTED 2 @@ -79,3 +81,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ ? sigtramp_saved_pc (FRAME) \ : read_memory_integer ((FRAME)->frame + 4, 4)) \ ) + +#undef SETUP_ARBITRARY_FRAME +#include "frame.h" +extern FRAME setup_arbitrary_frame (); +#define SETUP_ARBITRARY_FRAME setup_arbitrary_frame + +#endif /* _FREEBSD_TM_H_ */ diff --git a/gnu/usr.bin/gdb/gdb/freebsd-nat.c b/gnu/usr.bin/gdb/gdb/freebsd-nat.c index 6fb207dc..bc58924 100644 --- a/gnu/usr.bin/gdb/gdb/freebsd-nat.c +++ b/gnu/usr.bin/gdb/gdb/freebsd-nat.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: freebsd-nat.c,v 1.2 1994/12/30 23:25:44 jkh Exp $ + $Id: freebsd-nat.c,v 1.3 1994/12/31 17:00:09 bde Exp $ */ #include @@ -297,6 +297,18 @@ i386_float_info () print_387_status (fpstatep->sv_ex_sw, (struct env387 *)fpstatep); } +#ifdef SETUP_ARBITRARY_FRAME +FRAME +setup_arbitrary_frame (numargs, args) +int numargs; +unsigned int *args; +{ + if (numargs > 2) + error ("Too many args in frame specification"); + return create_new_frame ((CORE_ADDR)args[0], (CORE_ADDR)args[1]); +} +#endif + #ifdef KERNEL_DEBUG #include #include diff --git a/gnu/usr.bin/gdb/gdb/tm.h b/gnu/usr.bin/gdb/gdb/tm.h index b3b05db..1c90483 100644 --- a/gnu/usr.bin/gdb/gdb/tm.h +++ b/gnu/usr.bin/gdb/gdb/tm.h @@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifndef _FREEBSD_TM_H_ +#define _FREEBSD_TM_H_ /* Override number of expected traps from sysv. */ #define START_INFERIOR_TRAPS_EXPECTED 2 @@ -79,3 +81,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ ? sigtramp_saved_pc (FRAME) \ : read_memory_integer ((FRAME)->frame + 4, 4)) \ ) + +#undef SETUP_ARBITRARY_FRAME +#include "frame.h" +extern FRAME setup_arbitrary_frame (); +#define SETUP_ARBITRARY_FRAME setup_arbitrary_frame + +#endif /* _FREEBSD_TM_H_ */ -- cgit v1.1