diff options
author | John Gilmore <gnu@cygnus> | 1991-08-20 03:02:39 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1991-08-20 03:02:39 +0000 |
commit | 5e5215eba77007511fb040ac842a935ec624b4a6 (patch) | |
tree | f658e7a0e4541ed5640fb9e5c5f998f272b19498 /gdb/tm-sparc.h | |
parent | 24e2462158f159377ed7f0c2fe96683c3e1063c9 (diff) | |
download | gdb-5e5215eba77007511fb040ac842a935ec624b4a6.zip gdb-5e5215eba77007511fb040ac842a935ec624b4a6.tar.gz gdb-5e5215eba77007511fb040ac842a935ec624b4a6.tar.bz2 |
* mcheck.c: Avoid warning about undeclared abort fn.
* tm-sparc.h (PC_ADJUST): Avoid calling error() from this;
it causes recursive calls to error() when used in cleanups.
To do so requires that we make it a function, so we do.
* sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST.
* utils.c (do_cleanups): Remove the current cleanup from the
chain *before* calling it, in case error() is called from it.
The result won't be pretty, but won't be an infinite loop either.
Diffstat (limited to 'gdb/tm-sparc.h')
-rw-r--r-- | gdb/tm-sparc.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h index 7f0fb4e..d89781b 100644 --- a/gdb/tm-sparc.h +++ b/gdb/tm-sparc.h @@ -84,8 +84,8 @@ extern CORE_ADDR skip_prologue (); encodes the structure size being returned. If we detect such a fake insn, step past it. */ -#define PC_ADJUST(pc) ((read_memory_integer (pc + 8, 4) & 0xfffffe00) == 0 ? \ - pc+12 : pc+8) +#define PC_ADJUST(pc) sparc_pc_adjust(pc) +extern CORE_ADDR sparc_pc_adjust(); #define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM)) |