* gdbarch.sh (skip_prologue): Add gdbarch
authorMarkus Deuling <deuling@de.ibm.com>
Fri, 11 Jan 2008 13:20:02 +0000 (13:20 +0000)
committerMarkus Deuling <deuling@de.ibm.com>
Fri, 11 Jan 2008 13:20:02 +0000 (13:20 +0000)
as parameter.
* gdbarch.{c,h}: Regenerate.

* alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter.
* amd64-tdep.c (amd64_skip_prologue): Likewise.
* avr-tdep.c (avr_skip_prologue): Likewise.
* cris-tdep.c (cris_skip_prologue): Likewise.
* frv-tdep.c (frv_skip_prologue): Likewise.
* h8300-tdep.c (h8300_skip_prologue): Likewise.
* hppa-tdep.c (hppa_skip_prologue): Likewise.
* i386-tdep.c (i386_skip_prologue): Likewise.
* ia64-tdep.c (ia64_skip_prologue): Likewise.
* iq2000-tdep.c (iq2000_skip_prologue): Likewise.
* m32r-tdep.c (m32r_skip_prologue): Likewise.
* m68hc11-tdep.c (m68hc11_skip_prologue): Likewise.
* m68k-tdep.c (m68k_skip_prologue): Likewise.
* m88k-tdep.c (m88k_skip_prologue): Likewise.
* mep-tdep.c (mep_skip_prologue): Likewise.
* mips-tdep.c (mips_skip_prologue): Likewise.
* mn10300-tdep.c (mn10300_skip_prologue): Likewise.
* mt-tdep.c (mt_skip_prologue): Likewise.
* rs6000-tdep.c (rs6000_skip_prologue): Likewise.
* score-tdep.c (score_skip_prologue): Likewise.
* sh64-tdep.c (sh64_skip_prologue): Likewise.
* sh-tdep.c (sh_skip_prologue): Likewise.
* sparc64-tdep.c (sparc64_skip_prologue): Likewise.
* sparc-tdep.c (sparc32_skip_prologue): Likewise.
* spu-tdep.c (spu_skip_prologue): Likewise.
* v850-tdep.c (v850_skip_prologue): Likewise.
* vax-tdep.c (vax_skip_prologue): Likewise.
* xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
* xtensa-tdep.c (xtensa_skip_prologue): Likewise.

* arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace
current_gdbarch by gdbarch.
* m32c-tdep.c (m32c_skip_prologue): Likewise.
* s390-tdep.c (s390_skip_prologue): Likewise.

36 files changed:
gdb/ChangeLog
gdb/alpha-tdep.c
gdb/amd64-tdep.c
gdb/arm-tdep.c
gdb/avr-tdep.c
gdb/cris-tdep.c
gdb/frv-tdep.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/h8300-tdep.c
gdb/hppa-tdep.c
gdb/i386-tdep.c
gdb/ia64-tdep.c
gdb/iq2000-tdep.c
gdb/m32c-tdep.c
gdb/m32r-tdep.c
gdb/m68hc11-tdep.c
gdb/m68k-tdep.c
gdb/m88k-tdep.c
gdb/mep-tdep.c
gdb/mips-tdep.c
gdb/mn10300-tdep.c
gdb/mt-tdep.c
gdb/rs6000-tdep.c
gdb/s390-tdep.c
gdb/score-tdep.c
gdb/sh-tdep.c
gdb/sh64-tdep.c
gdb/sparc-tdep.c
gdb/sparc64-tdep.c
gdb/spu-tdep.c
gdb/v850-tdep.c
gdb/vax-tdep.c
gdb/xstormy16-tdep.c
gdb/xtensa-tdep.c

index dd31e8f..b1b2341 100644 (file)
@@ -1,3 +1,44 @@
+2008-01-11  Markus Deuling  <deuling@de.ibm.com>
+
+       * gdbarch.sh (skip_prologue): Add gdbarch
+       as parameter.
+       * gdbarch.{c,h}: Regenerate.
+
+       * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter.
+       * amd64-tdep.c (amd64_skip_prologue): Likewise.
+       * avr-tdep.c (avr_skip_prologue): Likewise.
+       * cris-tdep.c (cris_skip_prologue): Likewise.
+       * frv-tdep.c (frv_skip_prologue): Likewise.
+       * h8300-tdep.c (h8300_skip_prologue): Likewise.
+       * hppa-tdep.c (hppa_skip_prologue): Likewise.
+       * i386-tdep.c (i386_skip_prologue): Likewise.
+       * ia64-tdep.c (ia64_skip_prologue): Likewise.
+       * iq2000-tdep.c (iq2000_skip_prologue): Likewise.
+       * m32r-tdep.c (m32r_skip_prologue): Likewise.
+       * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise.
+       * m68k-tdep.c (m68k_skip_prologue): Likewise.
+       * m88k-tdep.c (m88k_skip_prologue): Likewise.
+       * mep-tdep.c (mep_skip_prologue): Likewise.
+       * mips-tdep.c (mips_skip_prologue): Likewise.
+       * mn10300-tdep.c (mn10300_skip_prologue): Likewise.
+       * mt-tdep.c (mt_skip_prologue): Likewise.
+       * rs6000-tdep.c (rs6000_skip_prologue): Likewise.
+       * score-tdep.c (score_skip_prologue): Likewise.
+       * sh64-tdep.c (sh64_skip_prologue): Likewise.
+       * sh-tdep.c (sh_skip_prologue): Likewise.
+       * sparc64-tdep.c (sparc64_skip_prologue): Likewise.
+       * sparc-tdep.c (sparc32_skip_prologue): Likewise.
+       * spu-tdep.c (spu_skip_prologue): Likewise.
+       * v850-tdep.c (v850_skip_prologue): Likewise.
+       * vax-tdep.c (vax_skip_prologue): Likewise.
+       * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
+       * xtensa-tdep.c (xtensa_skip_prologue): Likewise.
+
+       * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace
+       current_gdbarch by gdbarch.
+       * m32c-tdep.c (m32c_skip_prologue): Likewise.
+       * s390-tdep.c (s390_skip_prologue): Likewise.
+
 2008-01-10  Doug Evans  <dje@google.com>
 
        * defs.h (struct continuation_arg): Fix typo in comment.
index 29e9b67..7d0eee9 100644 (file)
@@ -651,7 +651,7 @@ alpha_read_insn (CORE_ADDR pc)
    anything which might clobber the registers which are being saved.  */
 
 static CORE_ADDR
-alpha_skip_prologue (CORE_ADDR pc)
+alpha_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   unsigned long inst;
   int offset;
index f17e1dd..86423f7 100644 (file)
@@ -766,7 +766,7 @@ amd64_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
 /* Return PC of first real instruction.  */
 
 static CORE_ADDR
-amd64_skip_prologue (CORE_ADDR start_pc)
+amd64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   struct amd64_frame_cache cache;
   CORE_ADDR pc;
index 2991ee7..228b972 100644 (file)
@@ -411,7 +411,7 @@ thumb_analyze_prologue (struct gdbarch *gdbarch,
    sub fp, ip, #nn @@ nn == 20 or 4 depending on second insn */
 
 static CORE_ADDR
-arm_skip_prologue (CORE_ADDR pc)
+arm_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   unsigned long inst;
   CORE_ADDR skip_pc;
@@ -449,7 +449,7 @@ arm_skip_prologue (CORE_ADDR pc)
 
   /* Check if this is Thumb code.  */
   if (arm_pc_is_thumb (pc))
-    return thumb_analyze_prologue (current_gdbarch, pc, func_end, NULL);
+    return thumb_analyze_prologue (gdbarch, pc, func_end, NULL);
 
   for (skip_pc = pc; skip_pc < func_end; skip_pc += 4)
     {
index 9e1b90a..46c6258 100644 (file)
@@ -744,7 +744,7 @@ avr_scan_prologue (CORE_ADDR pc, struct avr_unwind_cache *info)
 }
 
 static CORE_ADDR
-avr_skip_prologue (CORE_ADDR pc)
+avr_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end;
   CORE_ADDR prologue_end = pc;
index eaacd18..5888a1b 100644 (file)
@@ -1442,7 +1442,7 @@ crisv32_scan_prologue (CORE_ADDR pc, struct frame_info *next_frame,
    of the first instruction after the function prologue.  */
 
 static CORE_ADDR
-cris_skip_prologue (CORE_ADDR pc)
+cris_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end;
   struct symtab_and_line sal;
index 8a96b9f..d025399 100644 (file)
@@ -968,7 +968,7 @@ frv_analyze_prologue (CORE_ADDR pc, struct frame_info *next_frame,
 
 
 static CORE_ADDR
-frv_skip_prologue (CORE_ADDR pc)
+frv_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end, new_pc;
 
index 1f3afdd..90e3f47 100644 (file)
@@ -2040,7 +2040,7 @@ gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
   gdb_assert (gdbarch->skip_prologue != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_prologue called\n");
-  return gdbarch->skip_prologue (ip);
+  return gdbarch->skip_prologue (gdbarch, ip);
 }
 
 void
index da5d617..ebb8c60 100644 (file)
@@ -364,7 +364,7 @@ typedef enum return_value_convention (gdbarch_return_value_ftype) (struct gdbarc
 extern enum return_value_convention gdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf);
 extern void set_gdbarch_return_value (struct gdbarch *gdbarch, gdbarch_return_value_ftype *return_value);
 
-typedef CORE_ADDR (gdbarch_skip_prologue_ftype) (CORE_ADDR ip);
+typedef CORE_ADDR (gdbarch_skip_prologue_ftype) (struct gdbarch *gdbarch, CORE_ADDR ip);
 extern CORE_ADDR gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip);
 extern void set_gdbarch_skip_prologue (struct gdbarch *gdbarch, gdbarch_skip_prologue_ftype *skip_prologue);
 
index 83bdf22..92b2316 100755 (executable)
@@ -471,7 +471,7 @@ M:CORE_ADDR:integer_to_address:struct type *type, const gdb_byte *buf:type, buf
 
 M:enum return_value_convention:return_value:struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf:valtype, regcache, readbuf, writebuf
 
-f:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0
+m:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0
 f:int:inner_than:CORE_ADDR lhs, CORE_ADDR rhs:lhs, rhs:0:0
 m:const gdb_byte *:breakpoint_from_pc:CORE_ADDR *pcptr, int *lenptr:pcptr, lenptr::0:
 M:CORE_ADDR:adjust_breakpoint_address:CORE_ADDR bpaddr:bpaddr
index 325fbed..9bc61c5 100644 (file)
@@ -564,7 +564,7 @@ static const struct frame_base h8300_frame_base = {
 };
 
 static CORE_ADDR
-h8300_skip_prologue (CORE_ADDR pc)
+h8300_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr = 0 , func_end = 0;
 
index 69b388f..b9791de 100644 (file)
@@ -1759,7 +1759,7 @@ after_prologue (CORE_ADDR pc)
    skip over the branch in that case.  */
 
 static CORE_ADDR
-hppa_skip_prologue (CORE_ADDR pc)
+hppa_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   unsigned long inst;
   int offset;
index d56862b..c88fb25 100644 (file)
@@ -828,7 +828,7 @@ i386_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
 /* Return PC of first real instruction.  */
 
 static CORE_ADDR
-i386_skip_prologue (CORE_ADDR start_pc)
+i386_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   static gdb_byte pic_pat[6] =
   {
index 6749400..fb47cba 100644 (file)
@@ -1512,7 +1512,7 @@ examine_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct frame_info *next_frame,
 }
 
 CORE_ADDR
-ia64_skip_prologue (CORE_ADDR pc)
+ia64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct ia64_frame_cache cache;
   cache.base = 0;
index fcb32d4..e5b558e 100644 (file)
@@ -331,7 +331,7 @@ iq2000_init_frame_cache (struct iq2000_frame_cache *cache)
    stepped into a function call.  */
 
 static CORE_ADDR
-iq2000_skip_prologue (CORE_ADDR pc)
+iq2000_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr = 0 , func_end = 0;
 
index 5a0c857..e68e9fe 100644 (file)
@@ -1803,7 +1803,7 @@ m32c_analyze_prologue (struct gdbarch *arch,
 
 
 static CORE_ADDR
-m32c_skip_prologue (CORE_ADDR ip)
+m32c_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
 {
   char *name;
   CORE_ADDR func_addr, func_end, sal_end;
@@ -1814,7 +1814,7 @@ m32c_skip_prologue (CORE_ADDR ip)
     return ip;
 
   /* Find end by prologue analysis.  */
-  m32c_analyze_prologue (current_gdbarch, ip, func_end, &p);
+  m32c_analyze_prologue (gdbarch, ip, func_end, &p);
   /* Find end by line info.  */
   sal_end = skip_prologue_using_sal (ip);
   /* Return whichever is lower.  */
index 97b716f..714a98c 100644 (file)
@@ -448,7 +448,7 @@ decode_prologue (CORE_ADDR start_pc, CORE_ADDR scan_limit,
 #define DEFAULT_SEARCH_LIMIT 128
 
 CORE_ADDR
-m32r_skip_prologue (CORE_ADDR pc)
+m32r_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end;
   struct symtab_and_line sal;
index 0869de5..b85cb8f 100644 (file)
@@ -739,7 +739,7 @@ m68hc11_scan_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
 }
 
 static CORE_ADDR
-m68hc11_skip_prologue (CORE_ADDR pc)
+m68hc11_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end;
   struct symtab_and_line sal;
index a42f699..1eed929 100644 (file)
@@ -812,7 +812,7 @@ m68k_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
 /* Return PC of first real instruction.  */
 
 static CORE_ADDR
-m68k_skip_prologue (CORE_ADDR start_pc)
+m68k_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   struct m68k_frame_cache cache;
   CORE_ADDR pc;
index 3dfa76e..9b71779 100644 (file)
@@ -626,7 +626,7 @@ const int m88k_max_prologue_size = 128 * M88K_INSN_SIZE;
    starting at PC.  */
 
 static CORE_ADDR
-m88k_skip_prologue (CORE_ADDR pc)
+m88k_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct symtab_and_line sal;
   CORE_ADDR func_start, func_end;
index bd4704e..57f2415 100644 (file)
@@ -1894,7 +1894,7 @@ mep_analyze_prologue (CORE_ADDR start_pc, CORE_ADDR limit_pc,
 
 
 static CORE_ADDR
-mep_skip_prologue (CORE_ADDR pc)
+mep_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   char *name;
   CORE_ADDR func_addr, func_end;
index 7685bf7..7e94f20 100644 (file)
@@ -4583,7 +4583,7 @@ mips_single_step_through_delay (struct gdbarch *gdbarch,
    delay slot of a non-prologue instruction).  */
 
 static CORE_ADDR
-mips_skip_prologue (CORE_ADDR pc)
+mips_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR limit_pc;
   CORE_ADDR func_addr;
index 91a1d4f..9fcae8a 100644 (file)
@@ -826,7 +826,7 @@ mn10300_analyze_prologue (struct frame_info *fi,
    Return the address of the first inst past the prologue of the function.  */
 
 static CORE_ADDR
-mn10300_skip_prologue (CORE_ADDR pc)
+mn10300_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   return mn10300_analyze_prologue (NULL, NULL, pc);
 }
index 9565e61..a3098b2 100644 (file)
@@ -398,7 +398,7 @@ mt_return_value (struct gdbarch *gdbarch, struct type *type,
    call.  */
 
 static CORE_ADDR
-mt_skip_prologue (CORE_ADDR pc)
+mt_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr = 0, func_end = 0;
   char *func_name;
index aee5ea9..c5122e3 100644 (file)
@@ -754,7 +754,7 @@ read_memory_addr (CORE_ADDR memaddr, int len)
 }
 
 static CORE_ADDR
-rs6000_skip_prologue (CORE_ADDR pc)
+rs6000_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct rs6000_framedata frame;
   CORE_ADDR limit_pc, func_addr;
index 8fcceb5..b448b22 100644 (file)
@@ -1093,11 +1093,11 @@ s390_analyze_prologue (struct gdbarch *gdbarch,
 /* Advance PC across any function entry prologue instructions to reach 
    some "real" code.  */
 static CORE_ADDR
-s390_skip_prologue (CORE_ADDR pc)
+s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct s390_prologue_data data;
   CORE_ADDR skip_pc;
-  skip_pc = s390_analyze_prologue (current_gdbarch, pc, (CORE_ADDR)-1, &data);
+  skip_pc = s390_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
   return skip_pc ? skip_pc : pc;
 }
 
index 41828ce..f691753 100644 (file)
@@ -680,7 +680,7 @@ score_fetch_inst (CORE_ADDR addr, char *memblock)
 }
 
 static CORE_ADDR
-score_skip_prologue (CORE_ADDR pc)
+score_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR cpc = pc;
   int iscan = 32, stack_sub = 0;
index b3447a5..6aeb0e8 100644 (file)
@@ -710,7 +710,7 @@ after_prologue (CORE_ADDR pc)
 }
 
 static CORE_ADDR
-sh_skip_prologue (CORE_ADDR start_pc)
+sh_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   CORE_ADDR pc;
   struct sh_frame_cache cache;
index ec5a674..d4d93d6 100644 (file)
@@ -651,7 +651,7 @@ sh64_skip_prologue_hard_way (CORE_ADDR start_pc)
 }
 
 static CORE_ADDR
-sh64_skip_prologue (CORE_ADDR pc)
+sh64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR post_prologue_pc;
 
index ae1bf79..27514fa 100644 (file)
@@ -778,7 +778,7 @@ sparc_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
    START_PC.  */
 
 static CORE_ADDR
-sparc32_skip_prologue (CORE_ADDR start_pc)
+sparc32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   struct symtab_and_line sal;
   CORE_ADDR func_start, func_end;
index 14558d6..2d9c8e3 100644 (file)
@@ -411,7 +411,7 @@ sparc64_pseudo_register_write (struct gdbarch *gdbarch,
    START_PC.  */
 
 static CORE_ADDR
-sparc64_skip_prologue (CORE_ADDR start_pc)
+sparc64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   struct symtab_and_line sal;
   CORE_ADDR func_start, func_end;
index e7e5fdd..9fcb118 100644 (file)
@@ -700,7 +700,7 @@ spu_analyze_prologue (CORE_ADDR start_pc, CORE_ADDR end_pc,
 
 /* Return the first instruction after the prologue starting at PC.  */
 static CORE_ADDR
-spu_skip_prologue (CORE_ADDR pc)
+spu_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct spu_prologue_data data;
   return spu_analyze_prologue (pc, (CORE_ADDR)-1, &data);
index bda8bb9..2891d1a 100644 (file)
@@ -621,7 +621,7 @@ v850_analyze_prologue (CORE_ADDR func_addr, CORE_ADDR pc,
 /* Return the address of the first code past the prologue of the function.  */
 
 static CORE_ADDR
-v850_skip_prologue (CORE_ADDR pc)
+v850_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr, func_end;
 
index 00d44d1..cd39645 100644 (file)
@@ -267,7 +267,7 @@ vax_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc, int *len)
    to reach some "real" code.  */
 
 static CORE_ADDR
-vax_skip_prologue (CORE_ADDR pc)
+vax_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   gdb_byte op = read_memory_unsigned_integer (pc, 1);
 
index 30dee93..78173cf 100644 (file)
@@ -404,7 +404,7 @@ xstormy16_analyze_prologue (CORE_ADDR start_addr, CORE_ADDR end_addr,
    stepped into a function call.  */
 
 static CORE_ADDR
-xstormy16_skip_prologue (CORE_ADDR pc)
+xstormy16_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   CORE_ADDR func_addr = 0, func_end = 0;
   char *func_name;
index 13c76a5..d52addf 100644 (file)
@@ -2396,7 +2396,7 @@ call0_frame_cache (struct frame_info *next_frame,
 /* #define DONT_SKIP_PROLOGUE  */
 
 CORE_ADDR
-xtensa_skip_prologue (CORE_ADDR start_pc)
+xtensa_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
 {
   struct symtab_and_line prologue_sal;
   CORE_ADDR body_pc;