import gdb-19990422 snapshot
[deliverable/binutils-gdb.git] / gdb / gdbarch.h
index 566f84a909e09b222643270d8d3d5f1f7eb55e6b..098db4c2860c3dc0ffcad0a76b77ed59e0976be5 100644 (file)
@@ -20,186 +20,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #ifndef GDBARCH_H
 #define GDBARCH_H
 
-/* start-sanitize-carp start-sanitize-vr4xxx */
-
-#ifndef GDB_MULTI_ARCH
-#define GDB_MULTI_ARCH 0
-#endif
-
-extern struct gdbarch *current_gdbarch;
-
-
-/* When GDB_MULTI_ARCH override any earlier definitions of the
-   below. */
-
-extern const struct bfd_arch_info *gdbarch_bfd_arch_info PARAMS ((struct gdbarch*));
-#if GDB_MULTI_ARCH
-#undef TARGET_ARCHITECTURE
-#define TARGET_ARCHITECTURE (gdbarch_bfd_arch_info (current_gdbarch))
-#endif
-
-extern int gdbarch_byte_order PARAMS ((struct gdbarch*));
-#if GDB_MULTI_ARCH
-#undef TARGET_BYTE_ORDER
-#define TARGET_BYTE_ORDER (gdbarch_byte_order (current_gdbarch))
-#endif
-
-extern int gdbarch_long_bit  PARAMS ((struct gdbarch*));
-extern void set_gdbarch_long_bit PARAMS ((struct gdbarch*, int));
-#if GDB_MULTI_ARCH
-#undef TARGET_LONG_BIT
-#define TARGET_LONG_BIT (gdbarch_long_bit (current_gdbarch))
-#endif
-
-extern int gdbarch_long_long_bit  PARAMS ((struct gdbarch*));
-extern void set_gdbarch_long_long_bit PARAMS ((struct gdbarch*, int));
-#if GDB_MULTI_ARCH
-#undef TARGET_LONG_LONG_BIT
-#define TARGET_LONG_LONG_BIT (gdbarch_long_long_bit (current_gdbarch))
-#endif
-
-extern int gdbarch_ptr_bit  PARAMS ((struct gdbarch*));
-extern void set_gdbarch_ptr_bit PARAMS ((struct gdbarch*, int));
-#if GDB_MULTI_ARCH
-#undef TARGET_PTR_BIT
-#define TARGET_PTR_BIT (gdbarch_ptr_bit (current_gdbarch))
-#endif
-
-extern struct gdbarch_tdep *gdbarch_tdep PARAMS ((struct gdbarch*));
-
-
-/* Mechanism for co-ordinating the selection of a specific
-   architecture.
-
-   GDB targets (*-tdep.c) can register an interest in a specific
-   architecture.  Other GDB components can register a need to maintain
-   per-architecture data.
-
-   The mechanisms below ensures that only a loose connection between
-   the set-architecture command and the various GDB components exists.
-   Each component can independantly register their need to maintain
-   architecture specific data with gdbarch.
-
-   Pragmatics:
-
-   Previously, a single TARGET_ARCHITECTURE_HOOK was provided.  It
-   didn't scale.
-
-   The more traditional mega-struct containing architecture specific
-   data for all the various GDB components was also considered.  Since
-   GDB is built from a variable number of (fairly independant)
-   components this global aproach was considered non-applicable. */
-
-
-/* Register a new architectural family with GDB.
-
-   Register support for the specified architecture with GDB.  When
-   ever gdbarch determines that this architecture has been selected,
-   the specifed INIT function is called.
-
-   INIT takes two parameters: INFO which contains the information
-   available to gdbarch about the (possibly new) architecture; ARCHES
-   which is a list of the previously created ``struct gdbarch'' for
-   this architecture.  When possible, and when no other value was
-   provided, INFO is initialized using either the ABFD or the current
-   GDBARCH.
-
-   The INIT function shall return any of: NULL indicating that it
-   doesn't reconize the selected architecture; an existing ``struct
-   gdbarch'' from the ARCHES list (indicating that the new
-   architecture is just a synonym for an earlier architecture); create
-   and then return a new ``struct gdbarch'' for this new architecture
-   (using gdbarch_alloc()).  */
-
-struct gdbarch_list
-{
-  struct gdbarch *gdbarch;
-  struct gdbarch_list *next;
-};
-
-struct gdbarch_info
-{
-  /* Default: bfd_arch_unknown. */
-  enum bfd_architecture bfd_architecture;
-
-  /* Default: NULL */
-  const struct bfd_arch_info *bfd_arch_info;
-
-  /* Default: 0 */
-  int byte_order;
-
-  /* Default: NULL */
-  bfd *abfd;
-
-  /* Default: NULL */
-  struct gdbarch_tdep_info *tdep_info;
-};
-
-typedef struct gdbarch *(gdbarch_init_ftype) PARAMS ((struct gdbarch_info info, struct gdbarch_list *arches));
-
-extern void register_gdbarch_init PARAMS ((enum bfd_architecture, gdbarch_init_ftype *));
-
-/* Helper function.  Search ARCHES for a gdbarch that matches
-   information provided by INFO. */
-
-extern struct gdbarch_list *gdbarch_list_lookup_by_info PARAMS ((struct gdbarch_list *arches,  const struct gdbarch_info *info));
-
-/* Helper function.  Create a preliminary ``struct gdbarch''.  Perform
-   basic initialization using values from the INFO structure. */
-
-extern struct gdbarch *gdbarch_alloc PARAMS ((const struct gdbarch_info *, struct gdbarch_tdep *));
-
-/* Helper function. Force the updating of the current architecture.
-   Used by targets that have added their own target specific
-   architecture manipulation commands. */
-
-extern int gdbarch_update PARAMS ((struct gdbarch_info));
-
-
-
-/* Register per-architecture data-pointer.
-
-   Reserve space for a per-architecture data-pointer.  An identifier
-   for the reserved data-pointer is returned.  That identifer should
-   be saved in a local static.
-
-   When a new architecture is selected, INIT() is called.  When a
-   previous architecture is re-selected, the per-architecture
-   data-pointer for that previous architecture is restored (INIT() is
-   not called).
-
-   INIT() shall return the initial value for the per-architecture
-   data-pointer for the current architecture.
-
-   Multiple registrarants for any architecture are allowed (and
-   strongly encouraged).  */
-
-typedef void *(gdbarch_data_ftype) PARAMS ((void));
-extern struct gdbarch_data *register_gdbarch_data PARAMS ((gdbarch_data_ftype *init));
-
-
-/* Return the value of the per-architecture data-pointer for the
-   current architecture. */
-
-extern void *gdbarch_data PARAMS ((struct gdbarch_data*));
-
-
-/* Register per-architecture memory region.
-
-   For legacy code, provide a memory-region swap mechanism.
-   Per-architecture memory blocks are created, these being swapped
-   whenever the architecture is changed.  For a new architecture, the
-   memory region is initialized with zero (0) and the INIT function is
-   called.
-
-   Memory regions are swapped / initialized in the order that they are
-   registered.  NULL DATA and/or INIT values can be specified. */
-
-typedef void (gdbarch_swap_ftype) PARAMS ((void));
-extern void register_gdbarch_swap PARAMS ((void *data, unsigned long size, gdbarch_swap_ftype *init));
-
-
-/* end-sanitize-carp end-sanitize-vr4xxx */
 
 /* The target-system-dependant byte order is dynamic */
 
This page took 0.024303 seconds and 4 git commands to generate.