X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fdefs.h;h=ece3006de4ea6a882b21f339ddb22faaa52aa12e;hb=43771869e5021b6bdc02b6eaae103a33c05a821c;hp=1e595d3eeab65374a9d9dace1d42d78decc1a325;hpb=b196bc4cb45969ade48efcba6c31b1de0acf24d0;p=external%2Fbinutils.git diff --git a/gdb/defs.h b/gdb/defs.h index 1e595d3..ece3006 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -1,7 +1,7 @@ /* *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-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -25,7 +25,7 @@ # error gdbserver should not include gdb/defs.h #endif -#include "common-defs.h" +#include "gdbsupport/common-defs.h" #include #include @@ -52,8 +52,8 @@ #include "ui-file.h" -#include "host-defs.h" -#include "common/enum-flags.h" +#include "gdbsupport/host-defs.h" +#include "gdbsupport/enum-flags.h" /* Scope types enumerator. List the types of scopes the compiler will accept. */ @@ -82,6 +82,11 @@ enum compile_i_scope_types COMPILE_I_PRINT_VALUE_SCOPE, }; + +template +using RequireLongest = gdb::Requires, + std::is_same>>; + /* Just in case they're not defined in stdio.h. */ #ifndef SEEK_SET @@ -150,12 +155,6 @@ extern void set_quit_flag (void); typedef void (quit_handler_ftype) (void); extern quit_handler_ftype *quit_handler; -/* Override the current quit handler. Sets NEW_QUIT_HANDLER as - current quit handler, and installs a cleanup that when run restores - the previous quit handler. */ -struct cleanup * - make_cleanup_override_quit_handler (quit_handler_ftype *new_quit_handler); - /* The default quit handler. Checks whether Ctrl-C was pressed, and if so: @@ -198,7 +197,8 @@ extern void quit_serial_event_clear (void); several languages. For that reason, the constants here are sorted 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). */ + ada_sniff_from_mangled_name). (Keep this order in sync with the + 'languages' array in language.c.) */ enum language { @@ -298,24 +298,7 @@ EXTERN_C char *re_comp (const char *); /* From symfile.c */ -extern void symbol_file_command (char *, int); - -/* * 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); +extern void symbol_file_command (const char *, int); /* From top.c */ @@ -323,7 +306,7 @@ typedef void initialize_file_ftype (void); extern char *gdb_readline_wrapper (const char *); -extern char *command_line_input (const char *, int, char *); +extern char *command_line_input (const char *, const char *); extern void print_prompt (void); @@ -338,41 +321,12 @@ extern int info_verbose; extern void set_next_address (struct gdbarch *, CORE_ADDR); extern int print_address_symbolic (struct gdbarch *, CORE_ADDR, - struct ui_file *, int, char *); - -extern int build_address_symbolic (struct gdbarch *, - CORE_ADDR addr, - int do_demangle, - char **name, - int *offset, - char **filename, - int *line, - int *unmapped); + struct ui_file *, int, + const char *); extern void print_address (struct gdbarch *, CORE_ADDR, struct ui_file *); extern const char *pc_prefix (CORE_ADDR); -/* 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 int source_full_path_of (const char *, char **); - -extern void mod_path (char *, char **); - -extern void add_path (char *, char **, int); - -extern void directory_switch (char *, int); - -extern char *source_path; - -extern void init_source_path (void); - /* From exec.c */ /* * Process memory area starting at ADDR with length SIZE. Area is @@ -407,66 +361,6 @@ enum lval_type lval_computed }; -/* * Control types for commands. */ - -enum misc_command_type - { - ok_command, - end_command, - else_command, - nop_command - }; - -enum command_control_type - { - simple_control, - break_control, - continue_control, - while_control, - if_control, - commands_control, - python_control, - compile_control, - guile_control, - while_stepping_control, - invalid_control - }; - -/* * Structure for saved commands lines (for breakpoints, defined - commands, etc). */ - -struct command_line - { - struct command_line *next; - char *line; - enum command_control_type control_type; - union - { - struct - { - enum compile_i_scope_types scope; - void *scope_data; - } - compile; - } - control_u; - /* * The number of elements in body_list. */ - int body_count; - /* * For composite commands, the nested lists of commands. For - example, for "if" command this will contain the then branch and - the else branch, if that is available. */ - struct command_line **body_list; - }; - -extern struct command_line *read_command_lines (char *, int, int, - void (*)(char *, void *), - void *); -extern struct command_line *read_command_lines_1 (char * (*) (void), int, - void (*)(char *, void *), - void *); - -extern void free_command_lines (struct command_line **); - /* * Parameters of the "info proc" command. */ enum info_proc_what @@ -492,14 +386,13 @@ enum info_proc_what /* * Display `info proc cwd'. */ IP_CWD, + /* * Display `info proc files'. */ + IP_FILES, + /* * Display all of the above. */ IP_ALL }; -/* * String containing the current directory (what getwd would return). */ - -extern char *current_directory; - /* * Default radixes for input and output. Only some values supported. */ extern unsigned input_radix; extern unsigned output_radix; @@ -580,24 +473,18 @@ extern int longest_to_int (LONGEST); table in osabi.c. */ enum gdb_osabi { - GDB_OSABI_UNINITIALIZED = -1, /* For struct gdbarch_info. */ - GDB_OSABI_UNKNOWN = 0, /* keep this zero */ + GDB_OSABI_NONE, GDB_OSABI_SVR4, 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, @@ -608,6 +495,7 @@ enum gdb_osabi GDB_OSABI_LYNXOS178, GDB_OSABI_NEWLIB, GDB_OSABI_SDE, + GDB_OSABI_PIKEOS, GDB_OSABI_INVALID /* keep this last */ }; @@ -631,21 +519,24 @@ enum symbol_needs_kind SYMBOL_NEEDS_FRAME }; -/* Dynamic target-system-dependent parameters for GDB. */ -#include "gdbarch.h" - -/* * Maximum size of a register. Something small, but large enough for - all known ISAs. If it turns out to be too small, make it bigger. */ - -enum { MAX_REGISTER_SIZE = 64 }; - /* In findvar.c. */ -extern LONGEST extract_signed_integer (const gdb_byte *, int, - enum bfd_endian); +template> +T extract_integer (const gdb_byte *addr, int len, enum bfd_endian byte_order); -extern ULONGEST extract_unsigned_integer (const gdb_byte *, int, - enum bfd_endian); +static inline LONGEST +extract_signed_integer (const gdb_byte *addr, int len, + enum bfd_endian byte_order) +{ + return extract_integer (addr, len, byte_order); +} + +static inline ULONGEST +extract_unsigned_integer (const gdb_byte *addr, int len, + enum bfd_endian byte_order) +{ + return extract_integer (addr, len, byte_order); +} extern int extract_long_unsigned_integer (const gdb_byte *, int, enum bfd_endian, LONGEST *); @@ -653,25 +544,36 @@ extern int extract_long_unsigned_integer (const gdb_byte *, int, extern CORE_ADDR extract_typed_address (const gdb_byte *buf, struct type *type); -extern void store_signed_integer (gdb_byte *, int, - enum bfd_endian, LONGEST); +/* All 'store' functions accept a host-format integer and store a + target-format integer at ADDR which is LEN bytes long. */ + +template> +extern void store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, + T val); + +static inline void +store_signed_integer (gdb_byte *addr, int len, + enum bfd_endian byte_order, LONGEST val) +{ + return store_integer (addr, len, byte_order, val); +} -extern void store_unsigned_integer (gdb_byte *, int, - enum bfd_endian, ULONGEST); +static inline void +store_unsigned_integer (gdb_byte *addr, int len, + enum bfd_endian byte_order, ULONGEST val) +{ + return store_integer (addr, len, byte_order, val); +} extern void store_typed_address (gdb_byte *buf, struct type *type, CORE_ADDR addr); - -/* From valops.c */ - -extern int watchdog; +extern void copy_integer_to_size (gdb_byte *dest, int dest_size, + const gdb_byte *source, int source_size, + bool is_signed, enum bfd_endian byte_order); /* Hooks for alternate command interfaces. */ -/* * The name of the interpreter if specified on the command line. */ -extern char *interpreter_p; - struct target_waitstatus; struct cmd_list_element; @@ -692,8 +594,7 @@ extern int (*deprecated_query_hook) (const char *, va_list) ATTRIBUTE_FPTR_PRINTF(1,0); extern void (*deprecated_warning_hook) (const char *, va_list) ATTRIBUTE_FPTR_PRINTF(1,0); -extern void (*deprecated_interactive_hook) (void); -extern void (*deprecated_readline_begin_hook) (char *, ...) +extern void (*deprecated_readline_begin_hook) (const char *, ...) ATTRIBUTE_FPTR_PRINTF_1; extern char *(*deprecated_readline_hook) (const char *); extern void (*deprecated_readline_end_hook) (void); @@ -705,7 +606,7 @@ extern ptid_t (*deprecated_target_wait_hook) (ptid_t ptid, extern void (*deprecated_attach_hook) (void); extern void (*deprecated_detach_hook) (void); extern void (*deprecated_call_command_hook) (struct cmd_list_element * c, - char *cmd, int from_tty); + const char *cmd, int from_tty); extern int (*deprecated_ui_load_progress_hook) (const char *section, unsigned long num); @@ -733,7 +634,7 @@ enum block_enum FIRST_LOCAL_BLOCK = 2 }; -/* User selection used in observer.h and multiple print functions. */ +/* User selection used in observable.h and multiple print functions. */ enum user_selected_what_flag {