aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-05-12 16:50:43 +0000
committerJeff Law <law@redhat.com>1994-05-12 16:50:43 +0000
commit88b91d4a1b08985feaeaef6b2c0ea9db54d269fe (patch)
tree0eb9126e5389c630e50b96ffcac501c00717cd8d
parent8db1a922914c22a21875e5238377dda17d34c21a (diff)
downloadfsf-binutils-gdb-88b91d4a1b08985feaeaef6b2c0ea9db54d269fe.zip
fsf-binutils-gdb-88b91d4a1b08985feaeaef6b2c0ea9db54d269fe.tar.gz
fsf-binutils-gdb-88b91d4a1b08985feaeaef6b2c0ea9db54d269fe.tar.bz2
* hppa-tdep.c (skip_trampoline_code): Handle argument relocation
stubs which return directly to the caller rather than to the stub itself.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/hppa-tdep.c7
2 files changed, 10 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8b01767..be7922f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+Thu May 12 10:46:27 1994 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa-tdep.c (skip_trampoline_code): Handle argument relocation
+ stubs which return directly to the caller rather than to the stub
+ itself.
+
Wed May 11 20:11:51 1994 Stan Shebs (shebs@andros.cygnus.com)
* c-exp.y (yyerror): Display a more informative error message.
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index b55f40f..b999384 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -1622,9 +1622,10 @@ skip_trampoline_code (pc, name)
}
}
- /* Does it look like bl X,rp? Another way to do a branch from the
- stub to the actual function. */
- else if ((curr_inst & 0xffe0e000) == 0xe8400000)
+ /* Does it look like bl X,%rp or bl X,%r0? Another way to do a
+ branch from the stub to the actual function. */
+ else if ((curr_inst & 0xffe0e000) == 0xe8400000
+ || (curr_inst & 0xffe0e000) == 0xe8000000)
return (loc + extract_17 (curr_inst) + 8) & ~0x3;
/* Does it look like bv (rp)? Note this depends on the