diff -urpN src/gdb/alpha-tdep.c dev/gdb/alpha-tdep.c --- src/gdb/alpha-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/alpha-tdep.c 2008-01-09 11:25:57.000000000 +0100 @@ -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; diff -urpN src/gdb/amd64-tdep.c dev/gdb/amd64-tdep.c --- src/gdb/amd64-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/amd64-tdep.c 2008-01-09 11:30:30.000000000 +0100 @@ -766,7 +766,7 @@ amd64_analyze_prologue (CORE_ADDR pc, CO /* 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; diff -urpN src/gdb/arm-tdep.c dev/gdb/arm-tdep.c --- src/gdb/arm-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/arm-tdep.c 2008-01-09 11:33:30.000000000 +0100 @@ -411,7 +411,7 @@ thumb_analyze_prologue (struct 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) { diff -urpN src/gdb/avr-tdep.c dev/gdb/avr-tdep.c --- src/gdb/avr-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/avr-tdep.c 2008-01-09 11:35:36.000000000 +0100 @@ -744,7 +744,7 @@ avr_scan_prologue (CORE_ADDR pc, struct } 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; diff -urpN src/gdb/cris-tdep.c dev/gdb/cris-tdep.c --- src/gdb/cris-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/cris-tdep.c 2008-01-09 11:36:56.000000000 +0100 @@ -1442,7 +1442,7 @@ crisv32_scan_prologue (CORE_ADDR pc, str 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; diff -urpN src/gdb/frv-tdep.c dev/gdb/frv-tdep.c --- src/gdb/frv-tdep.c 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/frv-tdep.c 2008-01-09 11:37:51.000000000 +0100 @@ -968,7 +968,7 @@ frv_analyze_prologue (CORE_ADDR pc, stru 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; diff -urpN src/gdb/gdbarch.c dev/gdb/gdbarch.c --- src/gdb/gdbarch.c 2007-12-06 17:32:59.000000000 +0100 +++ dev/gdb/gdbarch.c 2008-01-09 11:24:50.000000000 +0100 @@ -2040,7 +2040,7 @@ gdbarch_skip_prologue (struct gdbarch *g 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 diff -urpN src/gdb/gdbarch.h dev/gdb/gdbarch.h --- src/gdb/gdbarch.h 2007-12-06 17:32:59.000000000 +0100 +++ dev/gdb/gdbarch.h 2008-01-09 11:24:42.000000000 +0100 @@ -364,7 +364,7 @@ typedef enum return_value_convention (gd 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); diff -urpN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh --- src/gdb/gdbarch.sh 2008-01-01 23:53:09.000000000 +0100 +++ dev/gdb/gdbarch.sh 2008-01-09 11:24:34.000000000 +0100 @@ -471,7 +471,7 @@ M:CORE_ADDR:integer_to_address:struct ty 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 diff -urpN src/gdb/h8300-tdep.c dev/gdb/h8300-tdep.c --- src/gdb/h8300-tdep.c 2008-01-01 23:53:10.000000000 +0100 +++ dev/gdb/h8300-tdep.c 2008-01-09 11:39:15.000000000 +0100 @@ -564,7 +564,7 @@ static const struct frame_base h8300_fra }; 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; diff -urpN src/gdb/hppa-tdep.c dev/gdb/hppa-tdep.c --- src/gdb/hppa-tdep.c 2008-01-01 23:53:10.000000000 +0100 +++ dev/gdb/hppa-tdep.c 2008-01-09 11:41:08.000000000 +0100 @@ -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; diff -urpN src/gdb/i386-tdep.c dev/gdb/i386-tdep.c --- src/gdb/i386-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/i386-tdep.c 2008-01-09 11:43:08.000000000 +0100 @@ -828,7 +828,7 @@ i386_analyze_prologue (CORE_ADDR pc, COR /* 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] = { diff -urpN src/gdb/ia64-tdep.c dev/gdb/ia64-tdep.c --- src/gdb/ia64-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/ia64-tdep.c 2008-01-09 13:53:02.000000000 +0100 @@ -1512,7 +1512,7 @@ examine_prologue (CORE_ADDR pc, CORE_ADD } 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; diff -urpN src/gdb/iq2000-tdep.c dev/gdb/iq2000-tdep.c --- src/gdb/iq2000-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/iq2000-tdep.c 2008-01-09 11:47:29.000000000 +0100 @@ -331,7 +331,7 @@ iq2000_init_frame_cache (struct iq2000_f 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; diff -urpN src/gdb/m32c-tdep.c dev/gdb/m32c-tdep.c --- src/gdb/m32c-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/m32c-tdep.c 2008-01-09 11:48:41.000000000 +0100 @@ -1803,7 +1803,7 @@ m32c_analyze_prologue (struct gdbarch *a 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. */ diff -urpN src/gdb/m32r-tdep.c dev/gdb/m32r-tdep.c --- src/gdb/m32r-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/m32r-tdep.c 2008-01-09 11:49:24.000000000 +0100 @@ -448,7 +448,7 @@ decode_prologue (CORE_ADDR start_pc, COR #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; diff -urpN src/gdb/m68hc11-tdep.c dev/gdb/m68hc11-tdep.c --- src/gdb/m68hc11-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/m68hc11-tdep.c 2008-01-09 11:50:21.000000000 +0100 @@ -739,7 +739,7 @@ m68hc11_scan_prologue (CORE_ADDR pc, COR } 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; diff -urpN src/gdb/m68k-tdep.c dev/gdb/m68k-tdep.c --- src/gdb/m68k-tdep.c 2008-01-01 23:53:11.000000000 +0100 +++ dev/gdb/m68k-tdep.c 2008-01-09 11:50:51.000000000 +0100 @@ -812,7 +812,7 @@ m68k_analyze_prologue (CORE_ADDR pc, COR /* 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; diff -urpN src/gdb/m88k-tdep.c dev/gdb/m88k-tdep.c --- src/gdb/m88k-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/m88k-tdep.c 2008-01-09 11:51:42.000000000 +0100 @@ -626,7 +626,7 @@ const int m88k_max_prologue_size = 128 * 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; diff -urpN src/gdb/mep-tdep.c dev/gdb/mep-tdep.c --- src/gdb/mep-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/mep-tdep.c 2008-01-09 11:54:42.000000000 +0100 @@ -1894,7 +1894,7 @@ mep_analyze_prologue (CORE_ADDR start_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; diff -urpN src/gdb/mips-tdep.c dev/gdb/mips-tdep.c --- src/gdb/mips-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/mips-tdep.c 2008-01-09 11:55:12.000000000 +0100 @@ -4583,7 +4583,7 @@ mips_single_step_through_delay (struct g 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; diff -urpN src/gdb/mn10300-tdep.c dev/gdb/mn10300-tdep.c --- src/gdb/mn10300-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/mn10300-tdep.c 2008-01-09 11:55:50.000000000 +0100 @@ -826,7 +826,7 @@ mn10300_analyze_prologue (struct frame_i 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); } diff -urpN src/gdb/mt-tdep.c dev/gdb/mt-tdep.c --- src/gdb/mt-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/mt-tdep.c 2008-01-09 11:56:39.000000000 +0100 @@ -398,7 +398,7 @@ mt_return_value (struct gdbarch *gdbarch 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; diff -urpN src/gdb/rs6000-tdep.c dev/gdb/rs6000-tdep.c --- src/gdb/rs6000-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/rs6000-tdep.c 2008-01-09 11:57:21.000000000 +0100 @@ -754,7 +754,7 @@ read_memory_addr (CORE_ADDR memaddr, int } 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; diff -urpN src/gdb/s390-tdep.c dev/gdb/s390-tdep.c --- src/gdb/s390-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/s390-tdep.c 2008-01-09 11:58:10.000000000 +0100 @@ -1093,11 +1093,11 @@ s390_analyze_prologue (struct gdbarch *g /* 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; } diff -urpN src/gdb/score-tdep.c dev/gdb/score-tdep.c --- src/gdb/score-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/score-tdep.c 2008-01-09 11:58:39.000000000 +0100 @@ -680,7 +680,7 @@ score_fetch_inst (CORE_ADDR addr, char * } 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; diff -urpN src/gdb/sh64-tdep.c dev/gdb/sh64-tdep.c --- src/gdb/sh64-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/sh64-tdep.c 2008-01-09 11:59:09.000000000 +0100 @@ -651,7 +651,7 @@ sh64_skip_prologue_hard_way (CORE_ADDR s } static CORE_ADDR -sh64_skip_prologue (CORE_ADDR pc) +sh64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) { CORE_ADDR post_prologue_pc; diff -urpN src/gdb/sh-tdep.c dev/gdb/sh-tdep.c --- src/gdb/sh-tdep.c 2008-01-01 23:53:12.000000000 +0100 +++ dev/gdb/sh-tdep.c 2008-01-09 11:59:31.000000000 +0100 @@ -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; diff -urpN src/gdb/sparc64-tdep.c dev/gdb/sparc64-tdep.c --- src/gdb/sparc64-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/sparc64-tdep.c 2008-01-09 11:59:55.000000000 +0100 @@ -411,7 +411,7 @@ sparc64_pseudo_register_write (struct gd 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; diff -urpN src/gdb/sparc-tdep.c dev/gdb/sparc-tdep.c --- src/gdb/sparc-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/sparc-tdep.c 2008-01-09 12:00:37.000000000 +0100 @@ -778,7 +778,7 @@ sparc_unwind_pc (struct gdbarch *gdbarch 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; diff -urpN src/gdb/spu-tdep.c dev/gdb/spu-tdep.c --- src/gdb/spu-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/spu-tdep.c 2008-01-09 12:01:36.000000000 +0100 @@ -700,7 +700,7 @@ spu_analyze_prologue (CORE_ADDR start_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); diff -urpN src/gdb/v850-tdep.c dev/gdb/v850-tdep.c --- src/gdb/v850-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/v850-tdep.c 2008-01-09 12:02:15.000000000 +0100 @@ -621,7 +621,7 @@ v850_analyze_prologue (CORE_ADDR func_ad /* 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; diff -urpN src/gdb/vax-tdep.c dev/gdb/vax-tdep.c --- src/gdb/vax-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/vax-tdep.c 2008-01-09 12:02:38.000000000 +0100 @@ -267,7 +267,7 @@ vax_breakpoint_from_pc (struct gdbarch * 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); diff -urpN src/gdb/xstormy16-tdep.c dev/gdb/xstormy16-tdep.c --- src/gdb/xstormy16-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/xstormy16-tdep.c 2008-01-09 12:03:12.000000000 +0100 @@ -404,7 +404,7 @@ xstormy16_analyze_prologue (CORE_ADDR st 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; diff -urpN src/gdb/xtensa-tdep.c dev/gdb/xtensa-tdep.c --- src/gdb/xtensa-tdep.c 2008-01-01 23:53:13.000000000 +0100 +++ dev/gdb/xtensa-tdep.c 2008-01-09 12:04:01.000000000 +0100 @@ -2396,7 +2396,7 @@ call0_frame_cache (struct frame_info *ne /* #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;