* 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.
This commit is contained in:
Jeff Law
1995-08-22 05:43:30 +00:00
parent 011d93b38d
commit c85ff3a363
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,11 @@
Mon Aug 21 23:39:56 1995 Jeff Law (law@snake.cs.utah.edu)
* 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.
Mon Aug 21 11:49:17 1995 Kung Hsu <kung@mexican.cygnus.com>
* remote-udi.c (udi_wait): Mask off high bits of stop reason.

View File

@ -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;