diff options
author | Jeff Law <law@redhat.com> | 1995-08-22 05:43:30 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1995-08-22 05:43:30 +0000 |
commit | c85ff3a363117ea247ef7db49b123e42c118d4f8 (patch) | |
tree | 290b84a622239582ebcce13daa1b6630a31df3f7 /gdb/hppa-tdep.c | |
parent | 011d93b38d38b9cf1238ecd32ef2d2d7a4fb073f (diff) | |
download | gdb-c85ff3a363117ea247ef7db49b123e42c118d4f8.zip gdb-c85ff3a363117ea247ef7db49b123e42c118d4f8.tar.gz gdb-c85ff3a363117ea247ef7db49b123e42c118d4f8.tar.bz2 |
* hppa-tdep.c (frame_chain_valid): Handle systems where "$START$"
calls "main" directly.
(skip_prologue): Always assume arguments were saved into the stack
since GCC will do so without setting the magic Args_Saved bit in
the unwind descriptor.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r-- | gdb/hppa-tdep.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index a508e11..4735baa 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -1132,6 +1132,14 @@ frame_chain_valid (chain, thisframe) && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start)) return 0; + /* Grrrr. Some new idiot decided that they don't want _start for the + PRO configurations; $START$ calls main directly.... Deal with it. */ + msym_start = lookup_minimal_symbol ("$START$", NULL, NULL); + if (msym_us + && msym_start + && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start)) + return 0; + next = get_next_frame (thisframe); if (next) next_u = find_unwind_entry (next->pc); @@ -2302,7 +2310,7 @@ skip_prologue (pc) /* An indication that args may be stored into the stack. Unfortunately the HPUX compilers tend to set this in cases where no args were stored too!. */ - args_stored = u->Args_stored; + args_stored = 1; /* Turn the Entry_GR field into a bitmask. */ save_gr = 0; |