diff options
author | John Gilmore <gnu@cygnus> | 1991-08-14 00:00:25 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1991-08-14 00:00:25 +0000 |
commit | 5259796be2dcfdbb88a281cab9030d3f37c3bacb (patch) | |
tree | 33f4fc155f99dda448a3a29cfa2b19700b243270 /gdb/tm-sparc.h | |
parent | 39c52804dfd59b6d75331ff51abfba02460c5a7a (diff) | |
download | gdb-5259796be2dcfdbb88a281cab9030d3f37c3bacb.zip gdb-5259796be2dcfdbb88a281cab9030d3f37c3bacb.tar.gz gdb-5259796be2dcfdbb88a281cab9030d3f37c3bacb.tar.bz2 |
* blockframe.c (frameless_look_for_prologue): Speed up by
calling SKIP_PROLOGUE_FRAMELESS_P if it's defined.
* tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P):
Define two variants, one faster.
* sparc-tdep.c (sparc_frame_chain): Use target_read_memory
and return zero, rather than giving an error.
(setup_arbitrary_frame): Initialize the PC in the new frame.
(skip_prologue): Add a second arg saying whether we're just
checking for a frameless function or not.
Diffstat (limited to 'gdb/tm-sparc.h')
-rw-r--r-- | gdb/tm-sparc.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h index 3f3f2e4..7f0fb4e 100644 --- a/gdb/tm-sparc.h +++ b/gdb/tm-sparc.h @@ -64,10 +64,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define FUNCTION_START_OFFSET 0 /* Advance PC across any function entry prologue instructions - to reach some "real" code. */ + to reach some "real" code. SKIP_PROLOGUE_FRAMELESS_P advances + the PC past some of the prologue, but stops as soon as it + knows that the function has a frame. Its result is equal + to its input PC if the function is frameless, unequal otherwise. */ #define SKIP_PROLOGUE(pc) \ - { pc = skip_prologue (pc); } + { pc = skip_prologue (pc, 0); } +#define SKIP_PROLOGUE_FRAMELESS_P(pc) \ + { pc = skip_prologue (pc, 1); } extern CORE_ADDR skip_prologue (); /* Immediately after a function call, return the saved pc. @@ -570,7 +575,7 @@ extern void single_step (); /* We need two arguments (in general) to the "info frame" command. Note that the definition of this macro implies that there exists a - function "setup_arbitrary_frame" in mach-dep.c */ + function "setup_arbitrary_frame" in sparc-tdep.c */ #define FRAME_SPECIFICATION_DYADIC |