aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authornobody <>2003-03-13 15:09:31 +0000
committernobody <>2003-03-13 15:09:31 +0000
commitab015601f0f6fc053476cad220d7f7908fdcd850 (patch)
tree1b18f158e0c3c984b0d51341e12a27e9de72d63c /gdb/gdbarch.h
parentdf12d73d19b31ec578eb6be37bb15e21b06ec746 (diff)
downloadfsf-binutils-gdb-ab015601f0f6fc053476cad220d7f7908fdcd850.zip
fsf-binutils-gdb-ab015601f0f6fc053476cad220d7f7908fdcd850.tar.gz
fsf-binutils-gdb-ab015601f0f6fc053476cad220d7f7908fdcd850.tar.bz2
This commit was manufactured by cvs2svn to create branchoffbyone-20030313-branchpoint
'offbyone-20030313-branch'. Sprout from kettenis-i386newframe-20030308-branch 2003-03-08 00:00:32 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'kettenis-' Cherrypick from master 2003-03-13 15:09:29 UTC Nick Clifton <nickc@redhat.com> 'Add New Chinese (simplified) PO file.': ChangeLog Makefile.in Makefile.tpl bfd/ChangeLog bfd/aout-cris.c bfd/aout-encap.c bfd/aout-ns32k.c bfd/aout-tic30.c bfd/bfd-in2.h bfd/configure bfd/configure.in bfd/elf32-mips.c bfd/elf32-ppc.c bfd/elf64-mips.c bfd/elf64-ppc.c bfd/elfn32-mips.c bfd/elfxx-mips.c bfd/elfxx-target.h bfd/hp300bsd.c bfd/i386aout.c bfd/i386dynix.c bfd/i386linux.c bfd/i386lynx.c bfd/i386mach3.c bfd/libbfd.h bfd/m68k4knetbsd.c bfd/m68klinux.c bfd/m68klynx.c bfd/m68knetbsd.c bfd/m88kmach3.c bfd/mipsbsd.c bfd/newsos3.c bfd/po/zh_CN.po bfd/reloc.c bfd/sparclinux.c bfd/sparclynx.c bfd/sparcnetbsd.c bfd/vaxbsd.c bfd/version.h bfd/xsym.c configure configure.in gdb/ChangeLog gdb/MAINTAINERS gdb/alpha-tdep.c gdb/arch-utils.c gdb/arm-tdep.c gdb/avr-tdep.c gdb/breakpoint.c gdb/cli-out.c gdb/config/m68k/tm-delta68.h gdb/config/m68k/tm-linux.h gdb/config/pa/tm-hppa.h gdb/config/rs6000/tm-rs6000.h gdb/config/sparc/tm-sparc.h gdb/cris-tdep.c gdb/d10v-tdep.c gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doublest.c gdb/dummy-frame.c gdb/eval.c gdb/findvar.c gdb/frame-unwind.h gdb/frame.c gdb/frv-tdep.c gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/h8300-tdep.c gdb/hppa-tdep.c gdb/i386-interix-tdep.c gdb/i386-tdep.c gdb/ia64-tdep.c gdb/m68hc11-tdep.c gdb/m68k-tdep.c gdb/mcore-tdep.c gdb/mi/ChangeLog gdb/mi/mi-out.c gdb/minsyms.c gdb/mips-tdep.c gdb/mn10300-tdep.c gdb/ns32k-tdep.c gdb/ns32knbsd-nat.c gdb/ppc-linux-tdep.c gdb/regcache.c gdb/regcache.h gdb/rs6000-tdep.c gdb/s390-tdep.c gdb/sentinel-frame.c gdb/sh-tdep.c gdb/sparc-tdep.c gdb/tui/ChangeLog gdb/tui/tui-out.c gdb/v850-tdep.c gdb/valarith.c gdb/vax-tdep.c gdb/version.in gdb/x86-64-tdep.c gdb/x86-64-tdep.h gdb/xstormy16-tdep.c libiberty/ChangeLog libiberty/cplus-dem.c libiberty/hashtab.c
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h53
1 files changed, 33 insertions, 20 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 26424ef..acb1c33 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -2228,43 +2228,53 @@ extern void set_gdbarch_frame_chain_valid (struct gdbarch *gdbarch, gdbarch_fram
#endif
#endif
-#if defined (FRAME_SAVED_PC)
-/* Legacy for systems yet to multi-arch FRAME_SAVED_PC */
-#if !defined (FRAME_SAVED_PC_P)
-#define FRAME_SAVED_PC_P() (1)
+/* DEPRECATED_FRAME_SAVED_PC has been replaced by UNWIND_PC. Please
+ note, per UNWIND_PC's doco, that while the two have similar
+ interfaces they have very different underlying implementations. */
+
+#if defined (DEPRECATED_FRAME_SAVED_PC)
+/* Legacy for systems yet to multi-arch DEPRECATED_FRAME_SAVED_PC */
+#if !defined (DEPRECATED_FRAME_SAVED_PC_P)
+#define DEPRECATED_FRAME_SAVED_PC_P() (1)
#endif
#endif
/* Default predicate for non- multi-arch targets. */
-#if (!GDB_MULTI_ARCH) && !defined (FRAME_SAVED_PC_P)
-#define FRAME_SAVED_PC_P() (0)
+#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_FRAME_SAVED_PC_P)
+#define DEPRECATED_FRAME_SAVED_PC_P() (0)
#endif
-extern int gdbarch_frame_saved_pc_p (struct gdbarch *gdbarch);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (FRAME_SAVED_PC_P)
-#error "Non multi-arch definition of FRAME_SAVED_PC"
+extern int gdbarch_deprecated_frame_saved_pc_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_FRAME_SAVED_PC_P)
+#error "Non multi-arch definition of DEPRECATED_FRAME_SAVED_PC"
#endif
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (FRAME_SAVED_PC_P)
-#define FRAME_SAVED_PC_P() (gdbarch_frame_saved_pc_p (current_gdbarch))
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_FRAME_SAVED_PC_P)
+#define DEPRECATED_FRAME_SAVED_PC_P() (gdbarch_deprecated_frame_saved_pc_p (current_gdbarch))
#endif
/* Default (function) for non- multi-arch platforms. */
-#if (!GDB_MULTI_ARCH) && !defined (FRAME_SAVED_PC)
-#define FRAME_SAVED_PC(fi) (internal_error (__FILE__, __LINE__, "FRAME_SAVED_PC"), 0)
+#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_FRAME_SAVED_PC)
+#define DEPRECATED_FRAME_SAVED_PC(fi) (internal_error (__FILE__, __LINE__, "DEPRECATED_FRAME_SAVED_PC"), 0)
#endif
-typedef CORE_ADDR (gdbarch_frame_saved_pc_ftype) (struct frame_info *fi);
-extern CORE_ADDR gdbarch_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi);
-extern void set_gdbarch_frame_saved_pc (struct gdbarch *gdbarch, gdbarch_frame_saved_pc_ftype *frame_saved_pc);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (FRAME_SAVED_PC)
-#error "Non multi-arch definition of FRAME_SAVED_PC"
+typedef CORE_ADDR (gdbarch_deprecated_frame_saved_pc_ftype) (struct frame_info *fi);
+extern CORE_ADDR gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi);
+extern void set_gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_FRAME_SAVED_PC)
+#error "Non multi-arch definition of DEPRECATED_FRAME_SAVED_PC"
#endif
#if GDB_MULTI_ARCH
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (FRAME_SAVED_PC)
-#define FRAME_SAVED_PC(fi) (gdbarch_frame_saved_pc (current_gdbarch, fi))
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_FRAME_SAVED_PC)
+#define DEPRECATED_FRAME_SAVED_PC(fi) (gdbarch_deprecated_frame_saved_pc (current_gdbarch, fi))
#endif
#endif
+extern int gdbarch_unwind_pc_p (struct gdbarch *gdbarch);
+
+typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, struct frame_info *next_frame);
+extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame);
+extern void set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype *unwind_pc);
+
/* Default (function) for non- multi-arch platforms. */
#if (!GDB_MULTI_ARCH) && !defined (FRAME_ARGS_ADDRESS)
#define FRAME_ARGS_ADDRESS(fi) (get_frame_base (fi))
@@ -2419,6 +2429,9 @@ extern void set_gdbarch_reg_struct_has_addr (struct gdbarch *gdbarch, gdbarch_re
#endif
#endif
+/* FIXME: kettenis/2003-03-08: This should be replaced by a function
+ parametrized with (at least) the regcache. */
+
#if defined (SAVE_DUMMY_FRAME_TOS)
/* Legacy for systems yet to multi-arch SAVE_DUMMY_FRAME_TOS */
#if !defined (SAVE_DUMMY_FRAME_TOS_P)