aboutsummaryrefslogtreecommitdiff
path: root/gdb/blockframe.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-08-14 00:00:25 +0000
committerJohn Gilmore <gnu@cygnus>1991-08-14 00:00:25 +0000
commit5259796be2dcfdbb88a281cab9030d3f37c3bacb (patch)
tree33f4fc155f99dda448a3a29cfa2b19700b243270 /gdb/blockframe.c
parent39c52804dfd59b6d75331ff51abfba02460c5a7a (diff)
downloadgdb-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/blockframe.c')
-rw-r--r--gdb/blockframe.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index ba4cc24..7efe141 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -4,19 +4,19 @@
This file is part of GDB.
-GDB is free software; you can redistribute it and/or modify
+This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
-GDB is distributed in the hope that it will be useful,
+This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GDB; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdio.h>
#include "defs.h"
@@ -191,7 +191,13 @@ frameless_look_for_prologue (frame)
if (func_start)
{
after_prologue = func_start;
+#ifdef SKIP_PROLOGUE_FRAMELESS_P
+ /* This is faster, since only care whether there *is* a prologue,
+ not how long it is. */
+ SKIP_PROLOGUE_FRAMELESS_P (after_prologue);
+#else
SKIP_PROLOGUE (after_prologue);
+#endif
return after_prologue == func_start;
}
else