diff options
author | Andrew Cagney <cagney@redhat.com> | 2001-06-15 23:50:46 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2001-06-15 23:50:46 +0000 |
commit | 01fb743397dceca359433900973363362af3596f (patch) | |
tree | f3083bc6121536e0614af9d0e0395914f5b7228d /gdb/gdbarch.h | |
parent | 22cbd7fb8c1f32dc45e0b7ec04a086dc04d00d4f (diff) | |
download | ppe42-binutils-01fb743397dceca359433900973363362af3596f.tar.gz ppe42-binutils-01fb743397dceca359433900973363362af3596f.zip |
Multi-arch CANNOT_FETCH_REGISTER() and CANNOT_STORE_REGISTER().
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r-- | gdb/gdbarch.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 5700e37f6d..586f4e803f 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -664,6 +664,34 @@ extern void set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch, gdbarch_regi #endif #endif +/* Default (function) for non- multi-arch platforms. */ +#if (!GDB_MULTI_ARCH) && !defined (CANNOT_FETCH_REGISTER) +#define CANNOT_FETCH_REGISTER(regnum) (cannot_register_not (regnum)) +#endif + +typedef int (gdbarch_cannot_fetch_register_ftype) (int regnum); +extern int gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum); +extern void set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, gdbarch_cannot_fetch_register_ftype *cannot_fetch_register); +#if GDB_MULTI_ARCH +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (CANNOT_FETCH_REGISTER) +#define CANNOT_FETCH_REGISTER(regnum) (gdbarch_cannot_fetch_register (current_gdbarch, regnum)) +#endif +#endif + +/* Default (function) for non- multi-arch platforms. */ +#if (!GDB_MULTI_ARCH) && !defined (CANNOT_STORE_REGISTER) +#define CANNOT_STORE_REGISTER(regnum) (cannot_register_not (regnum)) +#endif + +typedef int (gdbarch_cannot_store_register_ftype) (int regnum); +extern int gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum); +extern void set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, gdbarch_cannot_store_register_ftype *cannot_store_register); +#if GDB_MULTI_ARCH +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (CANNOT_STORE_REGISTER) +#define CANNOT_STORE_REGISTER(regnum) (gdbarch_cannot_store_register (current_gdbarch, regnum)) +#endif +#endif + extern int gdbarch_use_generic_dummy_frames (struct gdbarch *gdbarch); extern void set_gdbarch_use_generic_dummy_frames (struct gdbarch *gdbarch, int use_generic_dummy_frames); #if GDB_MULTI_ARCH |