|
|
Choosing A Webhost: |
[patch] Deprecate generic_find_dummy_frame(): msg#00538gdb.patches
Hello, More ``struct regcache'' fallout. This one I just happened across while reviewing the next regcache change. The attached patch deprecates the generic_find_dummy_frame() function. As the comment points out, code no longer needs this. Instead either register-unwind or get-saved-regs can be used to obtain register values. committed, Andrew 2002-06-26 Andrew Cagney <cagney@xxxxxxxxxx> * frame.h (deprecated_generic_find_dummy_frame): Rename generic_find_dummy_frame. * blockframe.c (generic_find_dummy_frame): Make static. (deprecated_generic_find_dummy_frame): New function. * sh-tdep.c (sh_nofp_frame_init_saved_regs): Replace generic_find_dummy_frame with deprecated_find_dummy_frame. (sh64_nofp_frame_init_saved_regs): Ditto. (sh_fp_frame_init_saved_regs): Ditto. * s390-tdep.c (s390_frame_saved_pc_nofix): Ditto. (s390_frame_chain): Ditto. * cris-tdep.c (cris_frame_init_saved_regs): Ditto. Index: blockframe.c =================================================================== RCS file: /cvs/src/src/gdb/blockframe.c,v retrieving revision 1.29 diff -u -r1.29 blockframe.c --- blockframe.c 8 Jun 2002 18:30:14 -0000 1.29 +++ blockframe.c 26 Jun 2002 15:13:41 -0000 @@ -1144,7 +1144,7 @@ adjust for DECR_PC_AFTER_BREAK. This is because it is only legal to call this function after the PC has been adjusted. */ -char * +static char * generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp) { struct dummy_frame *dummyframe; @@ -1159,6 +1159,12 @@ return dummyframe->registers; return 0; +} + +char * +deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp) +{ + return generic_find_dummy_frame (pc, fp); } /* Function: pc_in_call_dummy (pc, sp, fp) Index: cris-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/cris-tdep.c,v retrieving revision 1.17 diff -u -r1.17 cris-tdep.c --- cris-tdep.c 18 Jun 2002 16:01:12 -0000 1.17 +++ cris-tdep.c 26 Jun 2002 15:13:42 -0000 @@ -1155,7 +1155,7 @@ CORE_ADDR ip; struct symtab_and_line sal; int best_limit; - char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame); + char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame); /* Examine the entire prologue. */ register int frameless_p = 0; Index: frame.h =================================================================== RCS file: /cvs/src/src/gdb/frame.h,v retrieving revision 1.20 diff -u -r1.20 frame.h --- frame.h 18 Jun 2002 09:04:24 -0000 1.20 +++ frame.h 26 Jun 2002 15:13:42 -0000 @@ -310,7 +310,13 @@ extern int generic_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp); -extern char *generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp); + +/* NOTE: cagney/2002-06-26: Targets should no longer use this + function. Instead, the contents of a dummy frames registers can be + obtained by applying: frame_register_unwind to the dummy frame; or + get_saved_register to the next outer frame. */ + +extern char *deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp); extern void generic_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, Index: s390-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/s390-tdep.c,v retrieving revision 1.47 diff -u -r1.47 s390-tdep.c --- s390-tdep.c 17 Jun 2002 23:32:33 -0000 1.47 +++ s390-tdep.c 26 Jun 2002 15:13:43 -0000 @@ -955,7 +955,7 @@ if (fi->extra_info && fi->extra_info->saved_pc_valid) return fi->extra_info->saved_pc; - if (generic_find_dummy_frame (fi->pc, fi->frame)) + if (deprecated_generic_find_dummy_frame (fi->pc, fi->frame)) return generic_read_register_dummy (fi->pc, fi->frame, S390_PC_REGNUM); s390_frame_init_saved_regs (fi); @@ -1009,7 +1009,7 @@ { CORE_ADDR prev_fp = 0; - if (generic_find_dummy_frame (thisframe->pc, thisframe->frame)) + if (deprecated_generic_find_dummy_frame (thisframe->pc, thisframe->frame)) return generic_read_register_dummy (thisframe->pc, thisframe->frame, S390_SP_REGNUM); else Index: sh-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/sh-tdep.c,v retrieving revision 1.64 diff -u -r1.64 sh-tdep.c --- sh-tdep.c 20 Jun 2002 03:13:51 -0000 1.64 +++ sh-tdep.c 26 Jun 2002 15:13:45 -0000 @@ -1046,7 +1046,7 @@ int opc; int insn; int r3_val = 0; - char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame); + char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame); if (fi->saved_regs == NULL) frame_saved_regs_zalloc (fi); @@ -1385,7 +1385,7 @@ int insn_size; int gdb_register_number; int register_number; - char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame); + char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame); struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); if (fi->saved_regs == NULL) @@ -1586,7 +1586,7 @@ int opc; int insn; int r3_val = 0; - char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame); + char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame); struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); if (fi->saved_regs == NULL) @@ -1814,8 +1814,8 @@ *lval = not_lval; if (raw_buffer) memcpy (raw_buffer, - generic_find_dummy_frame (frame->pc, frame->frame) + - REGISTER_BYTE (regnum), + (deprecated_generic_find_dummy_frame (frame->pc, frame->frame) + + REGISTER_BYTE (regnum)), REGISTER_RAW_SIZE (regnum)); return; }
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [PATCH] monitor_ops regnames array, Grace Sainsbury |
|---|---|
| Next by Date: | [PATCH] Yet more m68k multi-arch stuff, Grace Sainsbury |
| Previous by Thread: | Patch that provides true single step for multi-threaded /proc based processes (Tru64 5.1A), Tonny Madsen |
| Next by Thread: | [PATCH] Yet more m68k multi-arch stuff, Grace Sainsbury |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |