/* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
for now. */
/* Basic, host-specific, and target-specific definitions for GDB.
- Copyright (C) 1986-2016 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
#include "ui-file.h"
#include "host-defs.h"
+#include "common/enum-flags.h"
/* Scope types enumerator. List the types of scopes the compiler will
accept. */
#include "hashtab.h"
-#ifndef min
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-#ifndef max
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#endif
-
/* * Enable dbx commands if set. */
extern int dbx_commands;
Note that there's ambiguity between the mangling schemes of some of
these languages, so some symbols could be successfully demangled by
several languages. For that reason, the constants here are sorted
- in the order we'll attempt demangling them. For example: Java and
- Rust use C++ mangling, so must come after C++; Ada must come last
- (see ada_sniff_from_mangled_name). */
+ in the order we'll attempt demangling them. For example: Rust uses
+ C++ mangling, so must come after C++; Ada must come last (see
+ ada_sniff_from_mangled_name). */
enum language
{
language_c, /* C */
language_objc, /* Objective-C */
language_cplus, /* C++ */
- language_java, /* Java */
language_d, /* D */
language_go, /* Go */
language_fortran, /* Fortran */
/* * Remote targets may wish to use this as their load function. */
extern void generic_load (const char *name, int from_tty);
-/* * Report on STREAM the performance of memory transfer operation,
- such as 'load'.
- @param DATA_COUNT is the number of bytes transferred.
- @param WRITE_COUNT is the number of separate write operations, or 0,
- if that information is not available.
- @param START_TIME is the time at which an operation was started.
- @param END_TIME is the time at which an operation ended. */
-struct timeval;
-extern void print_transfer_performance (struct ui_file *stream,
- unsigned long data_count,
- unsigned long write_count,
- const struct timeval *start_time,
- const struct timeval *end_time);
-
/* From top.c */
typedef void initialize_file_ftype (void);
GDB_OSABI_HURD,
GDB_OSABI_SOLARIS,
GDB_OSABI_LINUX,
- GDB_OSABI_FREEBSD_AOUT,
- GDB_OSABI_FREEBSD_ELF,
- GDB_OSABI_NETBSD_AOUT,
- GDB_OSABI_NETBSD_ELF,
- GDB_OSABI_OPENBSD_ELF,
+ GDB_OSABI_FREEBSD,
+ GDB_OSABI_NETBSD,
+ GDB_OSABI_OPENBSD,
GDB_OSABI_WINCE,
GDB_OSABI_GO32,
- GDB_OSABI_IRIX,
- GDB_OSABI_HPUX_ELF,
- GDB_OSABI_HPUX_SOM,
GDB_OSABI_QNXNTO,
GDB_OSABI_CYGWIN,
GDB_OSABI_AIX,
GDB_OSABI_INVALID /* keep this last */
};
-/* Global functions from other, non-gdb GNU thingies.
- Libiberty thingies are no longer declared here. We include libiberty.h
- above, instead. */
+/* Enumerate the requirements a symbol has in order to be evaluated.
+ These are listed in order of "strength" -- a later entry subsumes
+ earlier ones. This fine-grained distinction is important because
+ it allows for the evaluation of a TLS symbol during unwinding --
+ when unwinding one has access to registers, but not the frame
+ itself, because that is being constructed. */
-/* From other system libraries */
+enum symbol_needs_kind
+{
+ /* No special requirements -- just memory. */
+ SYMBOL_NEEDS_NONE,
-#ifndef atof
-extern double atof (const char *); /* X3.159-1989 4.10.1.1 */
-#endif
+ /* The symbol needs registers. */
+ SYMBOL_NEEDS_REGISTERS,
+
+ /* The symbol needs a frame. */
+ SYMBOL_NEEDS_FRAME
+};
/* Dynamic target-system-dependent parameters for GDB. */
#include "gdbarch.h"
extern int watchdog;
+/* From dwarf2read.c */
+
+ULONGEST read_unsigned_leb128 (bfd *, const gdb_byte *, unsigned int *);
+
/* Hooks for alternate command interfaces. */
/* * The name of the interpreter if specified on the command line. */
FIRST_LOCAL_BLOCK = 2
};
+/* User selection used in observer.h and multiple print functions. */
+
+enum user_selected_what_flag
+ {
+ /* Inferior selected. */
+ USER_SELECTED_INFERIOR = 1 << 1,
+
+ /* Thread selected. */
+ USER_SELECTED_THREAD = 1 << 2,
+
+ /* Frame selected. */
+ USER_SELECTED_FRAME = 1 << 3
+ };
+DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what);
+
#include "utils.h"
#endif /* #ifndef DEFS_H */