diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-12-30 15:27:52 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-12-30 15:27:52 +0000 |
commit | f1619234902c29fefb4badac25714fa9c5f3e606 (patch) | |
tree | 0b193ec076c11f0b8effe18fe5fba05ba53faf17 /gdb/infrun.c | |
parent | 6816e053e6eab5fbf76cc7a86cdb39845b2ea8b2 (diff) | |
download | gdb-f1619234902c29fefb4badac25714fa9c5f3e606.zip gdb-f1619234902c29fefb4badac25714fa9c5f3e606.tar.gz gdb-f1619234902c29fefb4badac25714fa9c5f3e606.tar.bz2 |
* infrun.c (wait_for_inferior): Enable code which assumes that if
we jump into the prologue from another function, then it was a
subroutine call. #if 0 AT_FUNCTION_START; the above code should
take care of this case.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 0c2153b..f8720c3 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1005,20 +1005,25 @@ switch_thread: like a subroutine call. */ ! stop_func_start - /* If we do a call, we will be at the start of a function. */ + /* If we do a call, we will be at the start of a function... */ || stop_pc == stop_func_start +#if 0 + /* Should be taken care of by the stop_pc < prologue_pc check + below. Also, on irix5 where this checks for stop_pc + equal to stop_func_start plus 12, it would seem to be + wrong for a function with a 4 byte prologue, and an 8 byte + call; a "return" could end up at stop_func_start+12. */ + || AT_FUNCTION_START (stop_pc, stop_func_name, stop_func_start) +#endif + + /* ...except on the Alpha with -O (and also Irix 5 and + perhaps others), in which we might call the address + after the load of gp. Since prologues don't contain + calls, we can't return to within one, and we don't + jump back into them, so this check is OK. */ -#if 0 - /* Not conservative enough for 4.11. FIXME: enable this - after 4.11. */ - /* Except on the Alpha with -O (and perhaps other machines - with similar calling conventions), in which we might - call the address after the load of gp. Since prologues - don't contain calls, we can't return to within one, and - we don't jump back into them, so this check is OK. */ || stop_pc < prologue_pc -#endif /* If we end up in certain places, it means we did a subroutine call. I'm not completely sure this is necessary now that we |