* Makefile.am: Use a temporary file to build chew.
[deliverable/binutils-gdb.git] / gdb / defs.h
index 64281e12b25e96e0e70741accf6b2304460f22c5..9b5171298a36f6d53359f0f679ee3dab393be1c6 100644 (file)
@@ -1,7 +1,7 @@
 /* *INDENT-OFF* */ /* ATTR_FORMAT confuses indent, avoid running it for now */
 /* Basic, host-specific, and target-specific definitions for GDB.
    Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
-   1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #include "config.h"            /* Generated by configure.  */
 
+#include <sys/types.h>
 #include <stdio.h>
 #include <errno.h>             /* System call error return status.  */
 #include <limits.h>
 
 #ifdef HAVE_STDDEF_H
 #include <stddef.h>
-#else
-#include <sys/types.h>         /* For size_t.  */
 #endif
 
 #ifdef HAVE_UNISTD_H
 
 #include "libiberty.h"
 
-/* For BFD64 and bfd_vma.  */
+/* Rather than duplicate all the logic in BFD for figuring out what
+   types to use (which can be pretty complicated), symply define them
+   in terms of the corresponding type from BFD.  */
+
 #include "bfd.h"
 
-/* An address in the program being debugged.  Host byte order.  Rather
-   than duplicate all the logic in BFD which figures out what type
-   this is (long, long long, etc.) and whether it needs to be 64
-   bits (the host/target interactions are subtle), we just use
-   bfd_vma.  */
+/* A byte from the program being debugged.  */
+typedef bfd_byte gdb_byte;
 
+/* An address in the program being debugged.  Host byte order.  */
 typedef bfd_vma CORE_ADDR;
 
 /* This is to make sure that LONGEST is at least as big as CORE_ADDR.  */
@@ -332,6 +332,8 @@ extern char *safe_strerror (int);
 
 extern void request_quit (int);
 
+#define        ALL_CLEANUPS    ((struct cleanup *)0)
+
 extern void do_cleanups (struct cleanup *);
 extern void do_final_cleanups (struct cleanup *);
 extern void do_run_cleanups (struct cleanup *);
@@ -510,6 +512,9 @@ extern char *paddr_nz (CORE_ADDR addr);
 extern char *paddr_u (CORE_ADDR addr);
 extern char *paddr_d (LONGEST addr);
 
+/* Like 0x%lx, replaces deprecated_print_address_numeric.  */
+extern const char *paddress (CORE_ADDR addr);
+
 extern char *phex (ULONGEST l, int sizeof_l);
 extern char *phex_nz (ULONGEST l, int sizeof_l);
 extern char *int_string (LONGEST, int, int, int, int);
@@ -585,7 +590,7 @@ extern int build_address_symbolic (CORE_ADDR addr,
                                   int *line,   
                                   int *unmapped);
 
-extern void print_address_numeric (CORE_ADDR, int, struct ui_file *);
+extern void deprecated_print_address_numeric (CORE_ADDR, int, struct ui_file *);
 
 extern void print_address (CORE_ADDR, struct ui_file *);
 
@@ -630,18 +635,14 @@ enum lval_type
   {
     /* Not an lval. */
     not_lval,
-    /* In memory.  Could be a saved register.  */
+    /* In memory.  */
     lval_memory,
-    /* In a register.  */
+    /* In a register.  Registers are relative to a frame.  */
     lval_register,
     /* In a gdb internal variable.  */
     lval_internalvar,
     /* Part of a gdb internal variable (structure field).  */
-    lval_internalvar_component,
-    /* In a register series in a frame not the current one, which may have been
-       partially saved or saved in different places (otherwise would be
-       lval_register or lval_memory).  */
-    lval_reg_frame_relative
+    lval_internalvar_component
   };
 
 /* Control types for commands */
@@ -801,11 +802,11 @@ typedef struct ptid ptid_t;
 #endif
 
 /* Assume that fopen accepts the letter "b" in the mode string.
-   Support for is demanded by ISO C90, and should be supported on all
-   platforms that claim to have a standardconforming C library.  On
+   It is demanded by ISO C9X, and should be supported on all
+   platforms that claim to have a standard-conforming C library.  On
    true POSIX systems it will be ignored and have no effect.  There
-   may still be systems without a standardconforming C library where
-   an ISO C90 compiler (GCC) is available.  Known examples are SunOS
+   may still be systems without a standard-conforming C library where
+   an ISO C9X compiler (GCC) is available.  Known examples are SunOS
    4.x and 4.3BSD.  This assumption means these systems are no longer
    supported.  */
 #ifndef FOPEN_RB
@@ -858,10 +859,13 @@ extern char *savestring (const char *, size_t);
    "libiberty.h". */
 extern void xfree (void *);
 
+/* Like xmalloc, but zero the memory.  */
+extern void *xzalloc (size_t);
+
 /* Utility macros to allocate typed memory.  Avoids errors like:
    struct foo *foo = xmalloc (sizeof struct bar); and memset (foo,
    sizeof (struct foo), 0).  */
-#define XZALLOC(TYPE) ((TYPE*) memset (xmalloc (sizeof (TYPE)), 0, sizeof (TYPE)))
+#define XZALLOC(TYPE) ((TYPE*) xzalloc (sizeof (TYPE)))
 #define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
 #define XCALLOC(NMEMB, TYPE) ((TYPE*) xcalloc ((NMEMB), sizeof (TYPE)))
 
@@ -875,6 +879,10 @@ extern void xvasprintf (char **ret, const char *format, va_list ap);
 extern char *xstrprintf (const char *format, ...) ATTR_FORMAT (printf, 1, 2);
 extern char *xstrvprintf (const char *format, va_list ap);
 
+/* Like snprintf, but throw an error if the output buffer is too small.  */
+extern int xsnprintf (char *str, size_t size, const char *format, ...)
+     ATTR_FORMAT (printf, 3, 4);
+
 extern int parse_escape (char **);
 
 /* Message to be printed before the error message, when an error occurs.  */
@@ -893,20 +901,8 @@ extern NORETURN void verror (const char *fmt, va_list ap) ATTR_NORETURN;
 
 extern NORETURN void error (const char *fmt, ...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
 
-extern NORETURN void error_silent (const char *fmt, ...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
-
 extern NORETURN void error_stream (struct ui_file *) ATTR_NORETURN;
 
-/* Initialize the error buffer.  */
-extern void error_init (void);
-
-/* Returns a freshly allocate buffer containing the last error
-   message.  */
-extern char *error_last_message (void);
-
-/* Output arbitrary error message.  */
-extern void error_output_message (char *pre_print, char *msg);
-
 extern NORETURN void vfatal (const char *fmt, va_list ap) ATTR_NORETURN;
 
 extern NORETURN void fatal (const char *fmt, ...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
@@ -925,95 +921,6 @@ extern void internal_warning (const char *file, int line,
 
 extern NORETURN void nomem (long) ATTR_NORETURN;
 
-/* Reasons for calling throw_exception().  NOTE: all reason values
-   must be less than zero.  enum value 0 is reserved for internal use
-   as the return value from an initial setjmp().  The function
-   catch_exceptions() reserves values >= 0 as legal results from its
-   wrapped function.  */
-
-enum return_reason
-  {
-    /* User interrupt.  */
-    RETURN_QUIT = -2,
-    /* Any other error.  */
-    RETURN_ERROR
-  };
-
-#define        ALL_CLEANUPS    ((struct cleanup *)0)
-
-#define RETURN_MASK(reason)    (1 << (int)(-reason))
-#define RETURN_MASK_QUIT       RETURN_MASK (RETURN_QUIT)
-#define RETURN_MASK_ERROR      RETURN_MASK (RETURN_ERROR)
-#define RETURN_MASK_ALL                (RETURN_MASK_QUIT | RETURN_MASK_ERROR)
-typedef int return_mask;
-
-/* Throw an exception of type RETURN_REASON.  Will execute a LONG JUMP
-   to the inner most containing exception handler established using
-   catch_exceptions() (or the legacy catch_errors()).
-
-   Code normally throws an exception using error() et.al.  For various
-   reaons, GDB also contains code that throws an exception directly.
-   For instance, the remote*.c targets contain CNTRL-C signal handlers
-   that propogate the QUIT event up the exception chain.  ``This could
-   be a good thing or a dangerous thing.'' -- the Existential Wombat.  */
-
-extern NORETURN void throw_exception (enum return_reason) ATTR_NORETURN;
-
-/* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception
-   handler.  If an exception (enum return_reason) is thrown using
-   throw_exception() than all cleanups installed since
-   catch_exceptions() was entered are invoked, the (-ve) exception
-   value is then returned by catch_exceptions.  If FUNC() returns
-   normally (with a postive or zero return value) then that value is
-   returned by catch_exceptions().  It is an internal_error() for
-   FUNC() to return a negative value.
-
-   For the period of the FUNC() call: UIOUT is installed as the output
-   builder; ERRSTRING is installed as the error/quit message; and a
-   new cleanup_chain is established.  The old values are restored
-   before catch_exceptions() returns.
-
-   The variant catch_exceptions_with_msg() is the same as
-   catch_exceptions() but adds the ability to return an allocated
-   copy of the gdb error message.  This is used when a silent error is 
-   issued and the caller wants to manually issue the error message.
-
-   FIXME; cagney/2001-08-13: The need to override the global UIOUT
-   builder variable should just go away.
-
-   This function superseeds catch_errors().
-
-   This function uses SETJMP() and LONGJUMP().  */
-
-struct ui_out;
-typedef int (catch_exceptions_ftype) (struct ui_out *ui_out, void *args);
-extern int catch_exceptions (struct ui_out *uiout,
-                            catch_exceptions_ftype *func, void *func_args,
-                            char *errstring, return_mask mask);
-extern int catch_exceptions_with_msg (struct ui_out *uiout,
-                                     catch_exceptions_ftype *func, 
-                                     void *func_args,
-                                     char *errstring, char **gdberrmsg,
-                                     return_mask mask);
-
-/* If CATCH_ERRORS_FTYPE throws an error, catch_errors() returns zero
-   otherwize the result from CATCH_ERRORS_FTYPE is returned. It is
-   probably useful for CATCH_ERRORS_FTYPE to always return a non-zero
-   value. It's unfortunate that, catch_errors() does not return an
-   indication of the exact exception that it caught - quit_flag might
-   help.
-
-   This function is superseeded by catch_exceptions().  */
-
-typedef int (catch_errors_ftype) (void *);
-extern int catch_errors (catch_errors_ftype *, void *, char *, return_mask);
-
-/* Template to catch_errors() that wraps calls to command
-   functions. */
-
-typedef void (catch_command_errors_ftype) (char *, int);
-extern int catch_command_errors (catch_command_errors_ftype *func, char *command, int from_tty, return_mask);
-
 extern void warning (const char *, ...) ATTR_FORMAT (printf, 1, 2);
 
 extern void vwarning (const char *, va_list args);
@@ -1045,9 +952,6 @@ enum gdb_osabi
   GDB_OSABI_HPUX_ELF,
   GDB_OSABI_HPUX_SOM,
 
-  GDB_OSABI_ARM_EABI_V1,
-  GDB_OSABI_ARM_EABI_V2,
-  GDB_OSABI_ARM_APCS,
   GDB_OSABI_QNXNTO,
 
   GDB_OSABI_CYGWIN,
@@ -1230,6 +1134,12 @@ extern int use_windows;
 /* FIXME, this doesn't work very well if host and executable
    filesystems conventions are different.  */
 
+#ifdef __MSDOS__
+# define CANT_FORK
+# define GLOBAL_CURDIR
+# define DIRNAME_SEPARATOR ';'
+#endif
+
 #ifndef DIRNAME_SEPARATOR
 #define DIRNAME_SEPARATOR ':'
 #endif
@@ -1238,11 +1148,6 @@ extern int use_windows;
 #define SLASH_STRING "/"
 #endif
 
-#ifdef __MSDOS__
-# define CANT_FORK
-# define GLOBAL_CURDIR
-#endif
-
 /* Provide default definitions of PIDGET, TIDGET, and MERGEPID.
    The name ``TIDGET'' is a historical accident.  Many uses of TIDGET
    in the code actually refer to a lightweight process id, i.e,
This page took 0.02886 seconds and 4 git commands to generate.