/* *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>
included, so it's ok to blank out gstdint.h. */
#define GCC_GENERATED_STDINT_H 1
-#ifdef HAVE_STDDEF_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 (); \
}
typedef void initialize_file_ftype (void);
-extern char *skip_quoted (char *);
-
extern char *gdb_readline (char *);
extern char *gdb_readline_wrapper (char *);
/* From source.c */
+/* See openp function definition for their description. */
#define OPF_TRY_CWD_FIRST 0x01
#define OPF_SEARCH_IN_PATH 0x02
+#define OPF_RETURN_REALPATH 0x04
extern int openp (const char *, int, const char *, int, char **);
extern void add_path (char *, char **, int);
-extern void directory_command (char *, int);
-
extern void directory_switch (char *, int);
extern char *source_path;
/* From exec.c */
+/* Process memory area starting at ADDR with length SIZE. Area is readable iff
+ READ is non-zero, writable if WRITE is non-zero, executable if EXEC is
+ non-zero. Area is possibly changed against its original file based copy if
+ MODIFIED is non-zero. DATA is passed without changes from a caller. */
+
typedef int (*find_memory_region_ftype) (CORE_ADDR addr, unsigned long size,
int read, int write, int exec,
- void *data);
+ int modified, void *data);
/* Take over the 'find_mapped_memory' vector from exec.c. */
extern void exec_set_find_memory_regions
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_WINCE,
GDB_OSABI_GO32,
GDB_OSABI_IRIX,
- GDB_OSABI_INTERIX,
GDB_OSABI_HPUX_ELF,
GDB_OSABI_HPUX_SOM,
GDB_OSABI_QNXNTO,
GDB_OSABI_DARWIN,
GDB_OSABI_SYMBIAN,
GDB_OSABI_OPENVMS,
+ GDB_OSABI_LYNXOS178,
+ GDB_OSABI_NEWLIB,
GDB_OSABI_INVALID /* keep this last */
};
/* From other system libraries */
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-#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
extern char *interpreter_p;
/* If a given interpreter matches INTERPRETER_P then it should update
- deprecated_command_loop_hook and deprecated_init_ui_hook with the
- per-interpreter implementation. */
-/* FIXME: deprecated_command_loop_hook and deprecated_init_ui_hook
- should be moved here. */
+ deprecated_init_ui_hook with the per-interpreter implementation. */
+/* FIXME: deprecated_init_ui_hook should be moved here. */
struct target_waitstatus;
struct cmd_list_element;
extern void (*selected_frame_level_changed_hook) (int);
extern int (*deprecated_ui_loop_hook) (int signo);
extern void (*deprecated_init_ui_hook) (char *argv0);
-extern void (*deprecated_command_loop_hook) (void);
extern void (*deprecated_show_load_progress) (const char *section,
unsigned long section_sent,
unsigned long section_size,
extern int use_windows;
-/* 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,
- something that can be considered a process id in its own right for
- certain purposes. */
-
-#ifndef PIDGET
-#define PIDGET(PTID) (ptid_get_pid (PTID))
-#define TIDGET(PTID) (ptid_get_lwp (PTID))
-#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