• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revisión1aef2af9e5d477c078495d2fa36a3d57d17eba5e (tree)
Tiempo2004-03-22 12:15:23
AutorAndrew Cagney <cagney@redh...>
CommiterAndrew Cagney

Log Message

Final tramp-frame code.

Cambiar Resumen

Diferencia incremental

--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,15 @@
11 2004-03-21 Andrew Cagney <cagney@redhat.com>
22
3+ * tramp-frame.h, tramp-frame.h: New files.
4+ * Makefile.in (SFILES, tramp_frame_h, COMMON_OBS, tramp-frame.o):
5+ Update rules to include "tramp-frame.h" and "tramp-frame.c".
6+
7+ * Makefile.in (ppcnbsd-tdep.o): Update dependencies.
8+ * ppcnbsd-tdep.c: Include "tramp-frame.h" and "trad-frame.h".
9+ (ppcnbsd_sigtramp_cache_init, ppcnbsd_sigtramp): Handle signal
10+ trampoline.
11+ (ppcnbsd_init_abi): Call tramp_frame_append with ppcnbsd_sigtramp.
12+
313 * infrun.c (handle_inferior_event): For non legacy frames, use the
414 frame ID and frame type to identify a signal trampoline. Update
515 comments.
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -757,7 +757,8 @@ target_h = target.h $(bfd_h) $(symtab_h) $(dcache_h) $(memattr_h)
757757 terminal_h = terminal.h
758758 top_h = top.h
759759 tracepoint_h = tracepoint.h
760-trad_frame_h = trad-frame.h
760+trad_frame_h = trad-frame.h $(frame_h)
761+tramp_frame_h = tramp-frame.h
761762 typeprint_h = typeprint.h
762763 ui_file_h = ui-file.h
763764 ui_out_h = ui-out.h
@@ -1535,7 +1536,7 @@ amd64-linux-tdep.o: amd64-linux-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \
15351536 $(regcache_h) $(osabi_h) $(gdb_string_h) $(amd64_tdep_h) \
15361537 $(solib_svr4_h)
15371538 amd64-nat.o: amd64-nat.c $(defs_h) $(gdbarch_h) $(regcache_h) \
1538- $(gdb_assert_h) $(i386_tdep_h) $(amd64_tdep_h)
1539+ $(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(amd64_tdep_h)
15391540 amd64nbsd-nat.o: amd64nbsd-nat.c $(defs_h) $(gdb_assert_h) $(amd64_tdep_h) \
15401541 $(amd64_nat_h)
15411542 amd64nbsd-tdep.o: amd64nbsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
@@ -1769,8 +1770,8 @@ frame.o: frame.c $(defs_h) $(frame_h) $(target_h) $(value_h) $(inferior_h) \
17691770 $(command_h) $(gdbcmd_h)
17701771 frame-unwind.o: frame-unwind.c $(defs_h) $(frame_h) $(frame_unwind_h) \
17711772 $(gdb_assert_h) $(dummy_frame_h) $(gdb_obstack_h)
1772-frv-linux-tdep.o: frv-linux-tdep.c $(defs_h) $(target_h) $(osabi_h) \
1773- $(elf_bfd_h) $(elf_frv_h) $(frv_tdep_h)
1773+frv-linux-tdep.o: frv-linux-tdep.c $(defs_h) $(target_h) $(frame_h) \
1774+ $(osabi_h) $(elf_bfd_h) $(elf_frv_h) $(frv_tdep_h)
17741775 frv-tdep.o: frv-tdep.c $(defs_h) $(gdb_string_h) $(inferior_h) $(gdbcore_h) \
17751776 $(arch_utils_h) $(regcache_h) $(frame_h) $(frame_unwind_h) \
17761777 $(frame_base_h) $(trad_frame_h) $(dis_asm_h) $(gdb_assert_h) \
@@ -1857,8 +1858,8 @@ i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
18571858 $(gdb_proc_service_h)
18581859 i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \
18591860 $(value_h) $(regcache_h) $(inferior_h) $(osabi_h) $(reggroups_h) \
1860- $(solib_svr4_h) $(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) \
1861- $(glibc_tdep_h)
1861+ $(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) $(glibc_tdep_h) \
1862+ $(solib_svr4_h)
18621863 i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
18631864 $(regcache_h) $(target_h) $(osabi_h) $(i386_tdep_h)
18641865 i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h)
@@ -2139,13 +2140,15 @@ ppc-linux-nat.o: ppc-linux-nat.c $(defs_h) $(gdb_string_h) $(frame_h) \
21392140 $(ppc_tdep_h)
21402141 ppc-linux-tdep.o: ppc-linux-tdep.c $(defs_h) $(frame_h) $(inferior_h) \
21412142 $(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \
2142- $(objfiles_h) $(regcache_h) $(value_h) $(osabi_h) $(solib_svr4_h) \
2143- $(ppc_tdep_h)
2143+ $(objfiles_h) $(regcache_h) $(value_h) $(osabi_h) $(trad_frame_h) \
2144+ $(tramp_frame_h) $(regset_h) $(solib_svr4_h) $(ppc_tdep_h) \
2145+ $(trad_frame_h) $(frame_unwind_h)
21442146 ppcnbsd-nat.o: ppcnbsd-nat.c $(defs_h) $(inferior_h) $(ppc_tdep_h) \
21452147 $(ppcnbsd_tdep_h)
21462148 ppcnbsd-tdep.o: ppcnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \
21472149 $(target_h) $(breakpoint_h) $(value_h) $(osabi_h) $(ppc_tdep_h) \
2148- $(ppcnbsd_tdep_h) $(nbsd_tdep_h) $(solib_svr4_h)
2150+ $(ppcnbsd_tdep_h) $(nbsd_tdep_h) $(tramp_frame_h) $(trad_frame_h) \
2151+ $(solib_svr4_h)
21492152 ppc-sysv-tdep.o: ppc-sysv-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
21502153 $(regcache_h) $(value_h) $(gdb_string_h) $(gdb_assert_h) \
21512154 $(ppc_tdep_h) $(target_h) $(objfiles_h)
@@ -2246,7 +2249,8 @@ rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
22462249 $(regcache_h) $(doublest_h) $(value_h) $(parser_defs_h) $(osabi_h) \
22472250 $(libbfd_h) $(coff_internal_h) $(libcoff_h) $(coff_xcoff_h) \
22482251 $(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) $(ppc_tdep_h) \
2249- $(gdb_assert_h) $(dis_asm_h)
2252+ $(gdb_assert_h) $(dis_asm_h) $(trad_frame_h) $(frame_unwind_h) \
2253+ $(frame_base_h)
22502254 s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
22512255 $(s390_tdep_h)
22522256 s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
@@ -2302,9 +2306,9 @@ solib.o: solib.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) $(symfile_h) \
23022306 $(objfiles_h) $(gdbcore_h) $(command_h) $(target_h) $(frame_h) \
23032307 $(gdb_regex_h) $(inferior_h) $(environ_h) $(language_h) $(gdbcmd_h) \
23042308 $(completer_h) $(filenames_h) $(exec_h) $(solist_h) $(readline_h)
2305-solib-frv.o: solib-frv.c $(defs_h) $(gdb_string_h) $(inferior_h) $(gdbcore_h) \
2306- $(solist_h) $(frv_tdep_h) $(objfiles_h) $(symtab_h) $(language_h) \
2307- $(command_h) $(gdbcmd_h) $(elf_frv_h)
2309+solib-frv.o: solib-frv.c $(defs_h) $(gdb_string_h) $(inferior_h) \
2310+ $(gdbcore_h) $(solist_h) $(frv_tdep_h) $(objfiles_h) $(symtab_h) \
2311+ $(language_h) $(command_h) $(gdbcmd_h) $(elf_frv_h)
23082312 solib-irix.o: solib-irix.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
23092313 $(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) $(solist_h)
23102314 solib-legacy.o: solib-legacy.c $(defs_h) $(gdbcore_h) $(solib_svr4_h)
@@ -2414,7 +2418,7 @@ symfile.o: symfile.c $(defs_h) $(bfdlink_h) $(symtab_h) $(gdbtypes_h) \
24142418 symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \
24152419 $(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \
24162420 $(gdb_obstack_h) $(language_h) $(bcache_h) $(block_h) $(gdb_regex_h) \
2417- $(dictionary_h) $(gdb_string_h)
2421+ $(dictionary_h) $(gdb_string_h) $(readline_h)
24182422 symtab.o: symtab.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
24192423 $(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \
24202424 $(gdbcmd_h) $(call_cmds_h) $(gdb_regex_h) $(expression_h) \
@@ -2445,6 +2449,9 @@ tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \
24452449 $(readline_history_h)
24462450 trad-frame.o: trad-frame.c $(defs_h) $(frame_h) $(trad_frame_h) \
24472451 $(regcache_h)
2452+tramp-frame.o: tramp-frame.c $(defs_h) $(tramp_frame_h) $(frame_unwind_h) \
2453+ $(gdbcore_h) $(symtab_h) $(objfiles_h) $(target_h) $(trad_frame_h) \
2454+ $(frame_base_h)
24482455 typeprint.o: typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
24492456 $(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(command_h) \
24502457 $(gdbcmd_h) $(target_h) $(language_h) $(cp_abi_h) $(typeprint_h) \
@@ -2838,7 +2845,7 @@ tui-regs.o: $(srcdir)/tui/tui-regs.c $(defs_h) $(tui_h) $(tui_data_h) \
28382845 $(symtab_h) $(gdbtypes_h) $(gdbcmd_h) $(frame_h) $(regcache_h) \
28392846 $(inferior_h) $(target_h) $(gdb_string_h) $(tui_layout_h) \
28402847 $(tui_win_h) $(tui_windata_h) $(tui_wingeneral_h) $(tui_file_h) \
2841- $(gdb_curses_h)
2848+ $(reggroups_h) $(gdb_curses_h)
28422849 $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-regs.c
28432850 tui-source.o: $(srcdir)/tui/tui-source.c $(defs_h) $(symtab_h) $(frame_h) \
28442851 $(breakpoint_h) $(source_h) $(symtab_h) $(tui_h) $(tui_data_h) \
--- a/gdb/frame-base.c
+++ b/gdb/frame-base.c
@@ -111,10 +111,7 @@ frame_base_set_default (struct gdbarch *gdbarch,
111111 }
112112
113113 const struct frame_base *
114-frame_base_find_by_frame (struct frame_info *next_frame,
115- void **this_base_cache,
116- const struct frame_unwind *unwinder,
117- void **this_prologue_cache)
114+frame_base_find_by_frame (struct frame_info *next_frame)
118115 {
119116 struct gdbarch *gdbarch = get_frame_arch (next_frame);
120117 struct frame_base_table *table = gdbarch_data (gdbarch, frame_base_data);
--- a/gdb/frame-base.h
+++ b/gdb/frame-base.h
@@ -29,18 +29,6 @@ struct frame_base;
2929 struct gdbarch;
3030 struct regcache;
3131
32-/* Given the NEXT frame, take a wiff of THIS frame's registers (namely
33- the PC and attributes) and if SELF is the applicable frame-base
34- handler return non-zero. Optionally also initialize
35- THIS_BASE_CACHE.
36-
37- If THIS frame's unwinder is the same as frame-base.unwind, THIS
38- frame's prologue-cache will be passed as THIS_BASE_CACHE. */
39-
40-typedef int (frame_base_sniffer) (const struct frame_base *self,
41- struct frame_info *next_frame,
42- void **this_base_cache);
43-
4432 /* Assuming the frame chain: (outer) prev <-> this <-> next (inner);
4533 and that this is a `normal frame'; use the NEXT frame, and its
4634 register unwind method, to determine the address of THIS frame's
@@ -52,10 +40,7 @@ typedef int (frame_base_sniffer) (const struct frame_base *self,
5240
5341 A typical implmentation will return the same value for base,
5442 locals-base and args-base. That value, however, will likely be
55- different to the frame ID's stack address.
56-
57- If THIS frame's unwinder is the same as frame-base.unwind, THIS
58- frame's prologue-cache will be passed as THIS_BASE_CACHE. */
43+ different to the frame ID's stack address. */
5944
6045 /* A generic base address. */
6146
@@ -80,8 +65,6 @@ struct frame_base
8065 frame_this_base_ftype *this_base;
8166 frame_this_locals_ftype *this_locals;
8267 frame_this_args_ftype *this_args;
83- const struct frame_data *base_data;
84- frame_base_sniffer *sniffer;
8568 };
8669
8770 /* Given the NEXT frame, return the frame base methods for THIS frame,
@@ -95,12 +78,6 @@ typedef const struct frame_base *(frame_base_sniffer_ftype) (struct frame_info *
9578 extern void frame_base_append_sniffer (struct gdbarch *gdbarch,
9679 frame_base_sniffer_ftype *sniffer);
9780
98-/* Register a frame base, appending it to the list that need to be
99- searched. */
100-extern void frame_base_register_base (struct gdbarch *gdbarch,
101- const struct frame_base *base);
102-
103-
10481 /* Set the default frame base. If all else fails, this one is
10582 returned. If this isn't set, the default is to use legacy code
10683 that uses things like the frame ID's base (ulgh!). */
@@ -111,9 +88,6 @@ extern void frame_base_set_default (struct gdbarch *gdbarch,
11188 /* Iterate through the list of frame base handlers until one returns
11289 an implementation. */
11390
114-extern const struct frame_base *frame_base_find_by_frame (struct frame_info *next_frame,
115- void **this_base_cache,
116- const struct frame_unwind *unwinder,
117- void **this_prologue_cache);
91+extern const struct frame_base *frame_base_find_by_frame (struct frame_info *next_frame);
11892
11993 #endif
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -2056,8 +2056,7 @@ get_frame_base_address (struct frame_info *fi)
20562056 if (get_frame_type (fi) != NORMAL_FRAME)
20572057 return 0;
20582058 if (fi->base == NULL)
2059- fi->base = frame_base_find_by_frame (fi->next, &fi->base_cache,
2060- fi->unwind, &fi->prologue_cache);
2059+ fi->base = frame_base_find_by_frame (fi->next);
20612060 /* Sneaky: If the low-level unwind and high-level base code share a
20622061 common unwinder, let them share the prologue cache. */
20632062 if (fi->base->unwind == fi->unwind)
@@ -2073,8 +2072,7 @@ get_frame_locals_address (struct frame_info *fi)
20732072 return 0;
20742073 /* If there isn't a frame address method, find it. */
20752074 if (fi->base == NULL)
2076- fi->base = frame_base_find_by_frame (fi->next, &fi->base_cache,
2077- fi->unwind, &fi->prologue_cache);
2075+ fi->base = frame_base_find_by_frame (fi->next);
20782076 /* Sneaky: If the low-level unwind and high-level base code share a
20792077 common unwinder, let them share the prologue cache. */
20802078 if (fi->base->unwind == fi->unwind)
@@ -2092,8 +2090,7 @@ get_frame_args_address (struct frame_info *fi)
20922090 return 0;
20932091 /* If there isn't a frame address method, find it. */
20942092 if (fi->base == NULL)
2095- fi->base = frame_base_find_by_frame (fi->next, &fi->base_cache,
2096- fi->unwind, &fi->prologue_cache);
2093+ fi->base = frame_base_find_by_frame (fi->next);
20972094 /* Sneaky: If the low-level unwind and high-level base code share a
20982095 common unwinder, let them share the prologue cache. */
20992096 if (fi->base->unwind == fi->unwind)
--- a/gdb/ppcnbsd-tdep.c
+++ b/gdb/ppcnbsd-tdep.c
@@ -235,32 +235,33 @@ ppcnbsd_sigtramp_cache_init (const struct tramp_frame *self,
235235 struct trad_frame_cache *this_cache,
236236 CORE_ADDR func)
237237 {
238+ CORE_ADDR base;
238239 CORE_ADDR offset;
239240 int i;
240241 struct gdbarch *gdbarch = get_frame_arch (next_frame);
241242 struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
242243
243- this_cache->this_base = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
244- offset = this_cache->this_base + 0x18 + 2 * tdep->wordsize;
244+ base = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
245+ offset = base + 0x18 + 2 * tdep->wordsize;
245246 for (i = 0; i < 32; i++)
246247 {
247248 int regnum = i + tdep->ppc_gp0_regnum;
248- this_cache->prev_regs[regnum].addr = offset;
249+ trad_frame_set_reg_addr (this_cache, regnum, offset);
249250 offset += tdep->wordsize;
250251 }
251- this_cache->prev_regs[tdep->ppc_lr_regnum].addr = offset;
252+ trad_frame_set_reg_addr (this_cache, tdep->ppc_lr_regnum, offset);
252253 offset += tdep->wordsize;
253- this_cache->prev_regs[tdep->ppc_cr_regnum].addr = offset;
254+ trad_frame_set_reg_addr (this_cache, tdep->ppc_cr_regnum, offset);
254255 offset += tdep->wordsize;
255- this_cache->prev_regs[tdep->ppc_xer_regnum].addr = offset;
256+ trad_frame_set_reg_addr (this_cache, tdep->ppc_xer_regnum, offset);
256257 offset += tdep->wordsize;
257- this_cache->prev_regs[tdep->ppc_ctr_regnum].addr = offset;
258+ trad_frame_set_reg_addr (this_cache, tdep->ppc_ctr_regnum, offset);
258259 offset += tdep->wordsize;
259- this_cache->prev_regs[PC_REGNUM].addr = offset; /* SRR0? */
260+ trad_frame_set_reg_addr (this_cache, PC_REGNUM, offset); /* SRR0? */
260261 offset += tdep->wordsize;
261262
262263 /* Construct the frame ID using the function start. */
263- this_cache->this_id = frame_id_build (this_cache->this_base, func);
264+ trad_frame_set_id (this_cache, frame_id_build (base, func));
264265 }
265266
266267 /* Given the NEXT frame, examine the instructions at and around this
--- a/gdb/trad-frame.c
+++ b/gdb/trad-frame.c
@@ -24,6 +24,14 @@
2424 #include "trad-frame.h"
2525 #include "regcache.h"
2626
27+struct trad_frame_cache
28+{
29+ struct frame_info *next_frame;
30+ CORE_ADDR this_base;
31+ struct trad_frame_saved_reg *prev_regs;
32+ struct frame_id this_id;
33+};
34+
2735 struct trad_frame_cache *
2836 trad_frame_cache_zalloc (struct frame_info *next_frame)
2937 {
@@ -31,6 +39,7 @@ trad_frame_cache_zalloc (struct frame_info *next_frame)
3139
3240 this_trad_cache = FRAME_OBSTACK_ZALLOC (struct trad_frame_cache);
3341 this_trad_cache->prev_regs = trad_frame_alloc_saved_regs (next_frame);
42+ this_trad_cache->next_frame = next_frame;
3443 return this_trad_cache;
3544 }
3645
@@ -89,6 +98,13 @@ trad_frame_set_value (struct trad_frame_saved_reg this_saved_regs[],
8998 }
9099
91100 void
101+trad_frame_set_reg_addr (struct trad_frame_cache *this_trad_cache,
102+ int regnum, CORE_ADDR addr)
103+{
104+ this_trad_cache->prev_regs[regnum].addr = addr;
105+}
106+
107+void
92108 trad_frame_set_unknown (struct trad_frame_saved_reg this_saved_regs[],
93109 int regnum)
94110 {
@@ -142,3 +158,29 @@ trad_frame_prev_register (struct frame_info *next_frame,
142158 gdbarch_register_name (gdbarch, regnum));
143159 }
144160 }
161+
162+void
163+trad_frame_get_register (struct trad_frame_cache *this_trad_cache,
164+ struct frame_info *next_frame,
165+ int regnum, int *optimizedp,
166+ enum lval_type *lvalp, CORE_ADDR *addrp,
167+ int *realregp, void *bufferp)
168+{
169+ trad_frame_prev_register (next_frame, this_trad_cache->prev_regs,
170+ regnum, optimizedp, lvalp, addrp, realregp,
171+ bufferp);
172+}
173+
174+void
175+trad_frame_set_id (struct trad_frame_cache *this_trad_cache,
176+ struct frame_id this_id)
177+{
178+ this_trad_cache->this_id = this_id;
179+}
180+
181+void
182+trad_frame_get_id (struct trad_frame_cache *this_trad_cache,
183+ struct frame_id *this_id)
184+{
185+ (*this_id) = this_trad_cache->this_id;
186+}
--- a/gdb/trad-frame.h
+++ b/gdb/trad-frame.h
@@ -26,15 +26,23 @@
2626
2727 struct frame_info;
2828
29-struct trad_frame_cache
30-{
31- CORE_ADDR this_base;
32- struct trad_frame_saved_reg *prev_regs;
33- struct frame_id this_id;
34-};
29+struct trad_frame_cache;
3530
3631 struct trad_frame_cache *trad_frame_cache_zalloc (struct frame_info *next_frame);
3732
33+void trad_frame_set_id (struct trad_frame_cache *this_trad_cache,
34+ struct frame_id this_id);
35+void trad_frame_get_id (struct trad_frame_cache *this_trad_cache,
36+ struct frame_id *this_id);
37+
38+void trad_frame_set_reg_addr (struct trad_frame_cache *this_trad_cache,
39+ int regnum, CORE_ADDR addr);
40+void trad_frame_get_register (struct trad_frame_cache *this_trad_cache,
41+ struct frame_info *next_frame,
42+ int regnum, int *optimizedp,
43+ enum lval_type *lvalp, CORE_ADDR *addrp,
44+ int *realregp, void *bufferp);
45+
3846 /* A traditional saved regs table, indexed by REGNUM, encoding where
3947 the value of REGNUM for the previous frame can be found in this
4048 frame.
--- a/gdb/tramp-frame.c
+++ b/gdb/tramp-frame.c
@@ -65,7 +65,7 @@ tramp_frame_this_id (struct frame_info *next_frame,
6565 {
6666 struct trad_frame_cache *trad_cache
6767 = tramp_frame_cache (next_frame, this_cache);
68- (*this_id) = trad_cache->this_id;
68+ trad_frame_get_id (trad_cache, this_id);
6969 }
7070
7171 static void
@@ -79,8 +79,8 @@ tramp_frame_prev_register (struct frame_info *next_frame,
7979 {
8080 struct trad_frame_cache *trad_cache
8181 = tramp_frame_cache (next_frame, this_cache);
82- trad_frame_prev_register (next_frame, trad_cache->prev_regs, prev_regnum,
83- optimizedp, lvalp, addrp, realnump, valuep);
82+ trad_frame_get_register (trad_cache, next_frame, prev_regnum, optimizedp,
83+ lvalp, addrp, realnump, valuep);
8484 }
8585
8686 static CORE_ADDR