This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] Patch for THUMB skip_prologue code
- From: Fred Fish <fnf at fred dot ninemoons dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: fnf at redhat dot com
- Date: Fri, 18 Jan 2002 16:49:21 -0700 (MST)
- Subject: [RFA] Patch for THUMB skip_prologue code
- Reply-to: fnf at redhat dot com
The current THUMB prologue skipping code does not stop until
it reaches either the end of the function, or an address that
is the function start address plus 40. This patch fixes it.
The gdb testsuite results for thumb code after applying this
patch have the following diff:
10694c10694
< FAIL: gdb.base/nodebug.exp: running to middle in runto
---
> PASS: gdb.base/nodebug.exp: backtrace from middle in nodebug.exp
15907,15908c15907,15908
< # of expected passes 7469
< # of unexpected failures 104
---
> # of expected passes 7470
> # of unexpected failures 103
-Fred
============================================================
2002-01-18 Fred Fish <fnf@redhat.com>
* arm-tdep.c (thumb_skip_prologue): Quit scanning prologue
when we have found all instructions we are looking for.
Index: arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.26
diff -u -p -r1.26 arm-tdep.c
--- arm-tdep.c 2002/01/09 18:07:48 1.26
+++ arm-tdep.c 2002/01/18 23:26:14
@@ -376,6 +376,10 @@ thumb_skip_prologue (CORE_ADDR pc, CORE_
{
findmask |= 2; /* setting of r7 found */
}
+ else if (findmask == (4+2+1))
+ {
+ break; /* We have found one of each type of prologue instruction */
+ }
else
continue; /* something in the prolog that we don't care about or some
instruction from outside the prolog scheduled here for optimization */