/* *INDENT-OFF* */ /* ATTRIBUTE_PRINTF confuses indent, avoid running it
for now. */
/* Basic, host-specific, and target-specific definitions for GDB.
- Copyright (C) 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009,
- 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1988-2005, 2007-2012 Free Software Foundation,
+ Inc.
This file is part of GDB.
#include "gdb_wchar.h"
-/* For ``enum target_signal''. */
+/* For ``enum gdb_signal''. */
#include "gdb/signals.h"
/* Just in case they're not defined in stdio.h. */
#include "ptid.h"
-/* Check if a character is one of the commonly used C++ marker characters. */
-extern int is_cplus_marker (int);
-
/* Enable xdb commands if set. */
extern int xdb_commands;
language_c, /* C */
language_cplus, /* C++ */
language_d, /* D */
+ language_go, /* Go */
language_objc, /* Objective-C */
language_java, /* Java */
language_fortran, /* Fortran */
RETURN_VALUE_ABI_PRESERVES_ADDRESS,
};
-/* the cleanup list records things that have to be undone
- if an error happens (descriptors to be closed, memory to be freed, etc.)
- Each link in the chain records a function to call and an
- argument to give it.
-
- Use make_cleanup to add an element to the cleanup chain.
- Use do_cleanups to do all cleanup actions back to a given
- point in the chain. Use discard_cleanups to remove cleanups
- from the chain back to a given point, not doing them.
-
- If the argument is pointer to allocated memory, then you need
- to additionally set the 'free_arg' member to a function that will
- free that memory. This function will be called both when the cleanup
- is executed and when it's discarded. */
-
-struct cleanup
- {
- struct cleanup *next;
- void (*function) (void *);
- void (*free_arg) (void *);
- void *arg;
- };
-
/* vec.h-style vectors of strings want a typedef for char * or const char *. */
typedef char * char_ptr;
extern void set_display_space (int);
-#define ALL_CLEANUPS ((struct cleanup *)0)
-
-extern void do_cleanups (struct cleanup *);
-extern void do_final_cleanups (struct cleanup *);
+/* Cleanup utilities. */
-extern void discard_cleanups (struct cleanup *);
-extern void discard_final_cleanups (struct cleanup *);
-extern void discard_my_cleanups (struct cleanup **, struct cleanup *);
-
-/* NOTE: cagney/2000-03-04: This typedef is strictly for the
- make_cleanup function declarations below. Do not use this typedef
- as a cast when passing functions into the make_cleanup() code.
- Instead either use a bounce function or add a wrapper function.
- Calling a f(char*) function with f(void*) is non-portable. */
-typedef void (make_cleanup_ftype) (void *);
-
-extern struct cleanup *make_cleanup (make_cleanup_ftype *, void *);
-
-extern struct cleanup *make_cleanup_dtor (make_cleanup_ftype *, void *,
- void (*dtor) (void *));
+#include "cleanups.h"
extern struct cleanup *make_cleanup_freeargv (char **);
struct so_list;
extern struct cleanup *make_cleanup_free_so (struct so_list *so);
-extern struct cleanup *make_final_cleanup (make_cleanup_ftype *, void *);
-
-extern struct cleanup *make_my_cleanup (struct cleanup **,
- make_cleanup_ftype *, void *);
-
extern struct cleanup *make_cleanup_htab_delete (htab_t htab);
-extern struct cleanup *make_my_cleanup2 (struct cleanup **,
- make_cleanup_ftype *, void *,
- void (*free_arg) (void *));
-
-extern struct cleanup *save_cleanups (void);
-extern struct cleanup *save_final_cleanups (void);
-extern struct cleanup *save_my_cleanups (struct cleanup **);
-
-extern void restore_cleanups (struct cleanup *);
-extern void restore_final_cleanups (struct cleanup *);
-extern void restore_my_cleanups (struct cleanup **, struct cleanup *);
-
extern void free_current_contents (void *);
-extern void null_cleanup (void *);
-
extern struct cleanup *make_command_stats_cleanup (int);
extern int myread (int, char *, int);
char **gdb_buildargv (const char *);
int compare_positive_ints (const void *ap, const void *bp);
+int compare_strings (const void *ap, const void *bp);
/* A wrapper for bfd_errmsg to produce a more helpful error message
in the case of bfd_error_file_ambiguously recognized.
extern int producer_is_gcc_ge_4 (const char *producer);
-/* From demangle.c */
+extern void substitute_path_component (char **stringp, const char *from,
+ const char *to);
+
+#ifdef HAVE_WAITPID
+extern pid_t wait_to_die_with_timeout (pid_t pid, int *status, int timeout);
+#endif
-extern void set_demangling_style (char *);
+extern int gdb_filename_fnmatch (const char *pattern, const char *string,
+ int flags);
\f
/* Annotation stuff. */
extern char *hex_string (LONGEST);
extern char *hex_string_custom (LONGEST, int);
-extern void fprintf_symbol_filtered (struct ui_file *, char *,
+extern void fprintf_symbol_filtered (struct ui_file *, const char *,
enum language, int);
extern void perror_with_name (const char *) ATTRIBUTE_NORETURN;
extern void set_next_address (struct gdbarch *, CORE_ADDR);
-extern void print_address_symbolic (struct gdbarch *, CORE_ADDR,
- struct ui_file *, int, char *);
+extern int print_address_symbolic (struct gdbarch *, CORE_ADDR,
+ struct ui_file *, int, char *);
extern int build_address_symbolic (struct gdbarch *,
CORE_ADDR addr,
extern void free_command_lines (struct command_line **);
+/* Parameters of the "info proc" command. */
+
+enum info_proc_what
+ {
+ /* Display the default cmdline, cwd and exe outputs. */
+ IP_MINIMAL,
+
+ /* Display `info proc mappings'. */
+ IP_MAPPINGS,
+
+ /* Display `info proc status'. */
+ IP_STATUS,
+
+ /* Display `info proc stat'. */
+ IP_STAT,
+
+ /* Display `info proc cmdline'. */
+ IP_CMDLINE,
+
+ /* Display `info proc exe'. */
+ IP_EXE,
+
+ /* Display `info proc cwd'. */
+ IP_CWD,
+
+ /* Display all of the above. */
+ IP_ALL
+ };
+
/* String containing the current directory (what getwd would return). */
extern char *current_directory;
GDB_OSABI_DICOS,
GDB_OSABI_DARWIN,
GDB_OSABI_SYMBIAN,
+ GDB_OSABI_OPENVMS,
GDB_OSABI_INVALID /* keep this last */
};