diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-05-05 14:45:51 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-05-05 14:45:51 +0000 |
commit | b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98 (patch) | |
tree | c59a94fbe917e0839329b872139198c2a7a05ab1 /gdb/config/convex | |
parent | e1346c8d0969dad58ddc13c9c741cb0f4e6345a5 (diff) | |
download | gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.zip gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.tar.gz gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.tar.bz2 |
import gdb-19990504 snapshot
Diffstat (limited to 'gdb/config/convex')
-rw-r--r-- | gdb/config/convex/tm-convex.h | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/gdb/config/convex/tm-convex.h b/gdb/config/convex/tm-convex.h index 5eb9f6e..6558859 100644 --- a/gdb/config/convex/tm-convex.h +++ b/gdb/config/convex/tm-convex.h @@ -52,26 +52,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ [ld.- -(ap),-] pcc/gcc register arg loads */ -#define SKIP_PROLOGUE(pc) \ -{ int op, ix; \ - op = read_memory_integer (pc, 2); \ - if ((op & 0xffc7) == 0x5ac0) pc += 2; \ - else if (op == 0x1580) pc += 4; \ - else if (op == 0x15c0) pc += 6; \ - if ((read_memory_integer (pc, 2) & 0xfff8) == 0x7c40 \ - && (read_memory_integer (pc + 2, 2) & 0xfff8) == 0x1240 \ - && (read_memory_integer (pc + 8, 2) & 0xfff8) == 0x7c48) \ - pc += 10; \ - if (read_memory_integer (pc, 2) == 0x1240) pc += 6; \ - for (;;) { \ - op = read_memory_integer (pc, 2); \ - ix = (op >> 3) & 7; \ - if (ix != 6) break; \ - if ((op & 0xfcc0) == 0x3000) pc += 4; \ - else if ((op & 0xfcc0) == 0x3040) pc += 6; \ - else if ((op & 0xfcc0) == 0x2800) pc += 4; \ - else if ((op & 0xfcc0) == 0x2840) pc += 6; \ - else break;}} +extern CORE_ADDR convex_skip_prologue PARAMS ((CORE_ADDR pc)); +#define SKIP_PROLOGUE(pc) (convex_skip_prologue (pc)) /* Immediately after a function call, return the saved pc. (ignore frame and return *$sp so we can handle both calls and callq) */ |