aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-08-07 04:17:24 +0000
committerJeff Law <law@redhat.com>1995-08-07 04:17:24 +0000
commitf4eec25cb8e8c53a533037c6d50ab6e0b48b54d2 (patch)
tree044aae9649278aa20fd147b47b41c2e23024dffb /gdb/hppa-tdep.c
parent560ac5deb399c13b569029793bd387270897184c (diff)
downloadgdb-f4eec25cb8e8c53a533037c6d50ab6e0b48b54d2.zip
gdb-f4eec25cb8e8c53a533037c6d50ab6e0b48b54d2.tar.gz
gdb-f4eec25cb8e8c53a533037c6d50ab6e0b48b54d2.tar.bz2
* hppa-tdep.c (frame_saved_pc): Don't try to dig a return pointer
out of a long branch stub. hpux10 _start is incorrectly marked as a long-branch stub.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index fc78a08..a508e11 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -863,9 +863,13 @@ restart:
}
/* If PC is inside a linker stub, then dig out the address the stub
- will return to. */
+ will return to.
+
+ Don't do this for long branch stubs. Why? For some unknown reason
+ _start is marked as a long branch stub in hpux10. */
u = find_unwind_entry (pc);
- if (u && u->stub_type != 0)
+ if (u && u->stub_type != 0
+ && u->stub_type != LONG_BRANCH)
{
unsigned int insn;