/* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
for now. */
/* Basic, host-specific, and target-specific definitions for GDB.
- Copyright (C) 1986, 1988-2005, 2007-2012 Free Software Foundation,
- Inc.
+ Copyright (C) 1986-2013 Free Software Foundation, Inc.
This file is part of GDB.
#endif
#include "config.h" /* Generated by configure. */
+#include "build-gnulib/config.h"
#include <sys/types.h>
#include <stdio.h>
#include <stddef.h>
#endif
-#ifdef HAVE_UNISTD_H
#include <unistd.h>
-#endif
+
+/* For gnulib's PATH_MAX. */
+#include "pathmax.h"
#include <fcntl.h>
/* This is to make sure that LONGEST is at least as big as CORE_ADDR. */
-#ifndef LONGEST
-
#ifdef BFD64
#define LONGEST BFD_HOST_64_BIT
#else /* No BFD64 */
-#ifdef CC_HAS_LONG_LONG
#define LONGEST long long
#define ULONGEST unsigned long long
-#else
-#ifdef BFD_HOST_64_BIT
-/* BFD_HOST_64_BIT is defined for some hosts that don't have long long
- (e.g. i386-windows) so try it. */
-#define LONGEST BFD_HOST_64_BIT
-#define ULONGEST BFD_HOST_U_64_BIT
-#else
-#define LONGEST long
-#define ULONGEST unsigned long
-#endif
-#endif
#endif /* No BFD64 */
-#endif /* ! LONGEST */
-
#ifndef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#endif
/* Search path for separate debug files. */
extern char *debug_file_directory;
-extern int quit_flag;
+/* GDB has two methods for handling SIGINT. When immediate_quit is
+ nonzero, a SIGINT results in an immediate longjmp out of the signal
+ handler. Otherwise, SIGINT simply sets a flag; code that might
+ take a long time, and which ought to be interruptible, checks this
+ flag using the QUIT macro.
+
+ If GDB is built with Python support, it uses Python's low-level
+ interface to implement the flag. This approach makes it possible
+ for Python and GDB SIGINT handling to coexist seamlessly.
+
+ If GDB is built without Python, it instead uses its traditional
+ variables. */
+
+/* Clear the quit flag. */
+extern void clear_quit_flag (void);
+/* Evaluate to non-zero if the quit flag is set, zero otherwise. This
+ will clear the quit flag as a side effect. */
+extern int check_quit_flag (void);
+/* Set the quit flag. */
+extern void set_quit_flag (void);
+
extern int immediate_quit;
extern void quit (void);
needed. */
#define QUIT { \
- if (quit_flag) quit (); \
+ if (check_quit_flag ()) quit (); \
if (deprecated_interactive_hook) deprecated_interactive_hook (); \
}
extern void add_path (char *, char **, int);
-extern void directory_command (char *, int);
-
extern void directory_switch (char *, int);
extern char *source_path;
extern unsigned input_radix;
extern unsigned output_radix;
-/* Possibilities for prettyprint parameters to routines which print
+/* Possibilities for prettyformat parameters to routines which print
things. Like enum language, this should be in value.h, but needs
to be here for the same reason. FIXME: If we can eliminate this
as an arg to LA_VAL_PRINT, then we can probably move it back to
value.h. */
-enum val_prettyprint
+enum val_prettyformat
{
- Val_no_prettyprint = 0,
- Val_prettyprint,
+ Val_no_prettyformat = 0,
+ Val_prettyformat,
/* Use the default setting which the user has specified. */
- Val_pretty_default
+ Val_prettyformat_default
};
/* Optional native machine support. Non-native (and possibly pure
GDB_OSABI_DARWIN,
GDB_OSABI_SYMBIAN,
GDB_OSABI_OPENVMS,
+ GDB_OSABI_LYNXOS178,
+ GDB_OSABI_NEWLIB,
GDB_OSABI_INVALID /* keep this last */
};
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
-#ifndef min
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-#ifndef max
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#endif
#ifndef atof
#define MERGEPID(PID, TID) ptid_build (PID, TID, 0)
#endif
-/* Define well known filenos if the system does not define them. */
-#ifndef STDIN_FILENO
-#define STDIN_FILENO 0
-#endif
-#ifndef STDOUT_FILENO
-#define STDOUT_FILENO 1
-#endif
-#ifndef STDERR_FILENO
-#define STDERR_FILENO 2
-#endif
-
/* If this definition isn't overridden by the header files, assume
that isatty and fileno exist on this system. */
#ifndef ISATTY