forked from Imagelibrary/binutils-gdb
* defs.h: Fix cntl-C to read from the Windows message queue.
Add prototypes for make_final_cleanup (and the other cleanup routines. * remote-e7000.c: Fix sync code to timeout if unable to sync. Change sync code to report status while trying to sync-up with hardware. Add debugging output and document. * ser-e7kpc.c: Swap order of len & offset to match implementation. Add debugging output and document. * serial.c: Add debugging output. * top.c: Add call to do_final_cleanups. Remove conditionals preventing Win32 from getting SIGQUIT. * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup chain as a parameter. Extract this generic code from the cleanup routines into separate funtions (*_my_cleanup). Keep old functionality by passing "cleanup_chain" to the new funtions. Define the cleanup chain "final_cleanup_chain" to be a cleanup chain which will be executed only when gdb exits. Add functions (*_final_cleanup) to match the original (*_cleanup) functions. (pollquit, quit, notice_quit): Fix to read cntl-C from the Windows message queue.
This commit is contained in:
41
gdb/defs.h
41
gdb/defs.h
@@ -96,8 +96,8 @@ extern void quit PARAMS ((void));
|
||||
|
||||
#ifdef QUIT
|
||||
/* do twice to force compiler warning */
|
||||
#define FIXME "FIXME"
|
||||
#define FIXME "ignoring redefinition of QUIT"
|
||||
#define QUIT_FIXME "FIXME"
|
||||
#define QUIT_FIXME "ignoring redefinition of QUIT"
|
||||
#else
|
||||
#define QUIT { \
|
||||
if (quit_flag) quit (); \
|
||||
@@ -230,8 +230,12 @@ extern void init_malloc PARAMS ((void *));
|
||||
extern void request_quit PARAMS ((int));
|
||||
|
||||
extern void do_cleanups PARAMS ((struct cleanup *));
|
||||
extern void do_final_cleanups PARAMS ((struct cleanup *));
|
||||
extern void do_my_cleanups PARAMS ((struct cleanup *, struct cleanup *));
|
||||
|
||||
extern void discard_cleanups PARAMS ((struct cleanup *));
|
||||
extern void discard_final_cleanups PARAMS ((struct cleanup *));
|
||||
extern void discard_my_cleanups PARAMS ((struct cleanup *, struct cleanup *));
|
||||
|
||||
/* The bare make_cleanup function is one of those rare beasts that
|
||||
takes almost any type of function as the first arg and anything that
|
||||
@@ -247,10 +251,18 @@ make_cleanup PARAMS ((void (*function) (void *), void *));
|
||||
wrong. */
|
||||
|
||||
extern struct cleanup *make_cleanup ();
|
||||
extern struct cleanup *
|
||||
make_final_cleanup PARAMS ((void (*function) (void *), void *));
|
||||
extern struct cleanup *
|
||||
make_my_cleanup PARAMS ((struct cleanup *, void (*function) (void *), void *));
|
||||
|
||||
extern struct cleanup *save_cleanups PARAMS ((void));
|
||||
extern struct cleanup *save_final_cleanups PARAMS ((void));
|
||||
extern struct cleanup *save_my_cleanups PARAMS ((struct cleanup *));
|
||||
|
||||
extern void restore_cleanups PARAMS ((struct cleanup *));
|
||||
extern void restore_final_cleanups PARAMS ((struct cleanup *));
|
||||
extern void restore_my_cleanups PARAMS ((struct cleanup *, struct cleanup *));
|
||||
|
||||
extern void free_current_contents PARAMS ((char **));
|
||||
|
||||
@@ -342,6 +354,10 @@ extern char* paddr PARAMS ((t_addr addr));
|
||||
|
||||
extern char* preg PARAMS ((t_reg reg));
|
||||
|
||||
extern char* paddr_nz PARAMS ((t_addr addr));
|
||||
|
||||
extern char* preg_nz PARAMS ((t_reg reg));
|
||||
|
||||
extern void fprintf_symbol_filtered PARAMS ((GDB_FILE *, char *,
|
||||
enum language, int));
|
||||
|
||||
@@ -538,17 +554,17 @@ enum val_prettyprint
|
||||
/* This is to make sure that LONGEST is at least as big as CORE_ADDR. */
|
||||
|
||||
#define LONGEST BFD_HOST_64_BIT
|
||||
#define ULONGEST BFD_HOST_U_64_BIT
|
||||
|
||||
#else /* No BFD64 */
|
||||
|
||||
/* LONGEST should not be a typedef, because "unsigned LONGEST" needs to work.
|
||||
CC_HAS_LONG_LONG is defined if the host compiler supports "long long" */
|
||||
|
||||
#ifndef LONGEST
|
||||
# ifdef CC_HAS_LONG_LONG
|
||||
# define LONGEST long long
|
||||
# define ULONGEST unsigned long long
|
||||
# else
|
||||
# define LONGEST long
|
||||
# define ULONGEST unsigned long
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -819,7 +835,7 @@ extern void set_endian_from_file PARAMS ((bfd *));
|
||||
|
||||
extern LONGEST extract_signed_integer PARAMS ((void *, int));
|
||||
|
||||
extern unsigned LONGEST extract_unsigned_integer PARAMS ((void *, int));
|
||||
extern ULONGEST extract_unsigned_integer PARAMS ((void *, int));
|
||||
|
||||
extern int extract_long_unsigned_integer PARAMS ((void *, int, LONGEST *));
|
||||
|
||||
@@ -827,7 +843,7 @@ extern CORE_ADDR extract_address PARAMS ((void *, int));
|
||||
|
||||
extern void store_signed_integer PARAMS ((void *, int, LONGEST));
|
||||
|
||||
extern void store_unsigned_integer PARAMS ((void *, int, unsigned LONGEST));
|
||||
extern void store_unsigned_integer PARAMS ((void *, int, ULONGEST));
|
||||
|
||||
extern void store_address PARAMS ((void *, int, CORE_ADDR));
|
||||
|
||||
@@ -936,7 +952,7 @@ extern void store_floating PARAMS ((void *, int, DOUBLEST));
|
||||
|
||||
extern CORE_ADDR push_bytes PARAMS ((CORE_ADDR, char *, int));
|
||||
|
||||
extern CORE_ADDR push_word PARAMS ((CORE_ADDR, unsigned LONGEST));
|
||||
extern CORE_ADDR push_word PARAMS ((CORE_ADDR, ULONGEST));
|
||||
|
||||
/* Some parts of gdb might be considered optional, in the sense that they
|
||||
are not essential for being able to build a working, usable debugger
|
||||
@@ -1047,4 +1063,13 @@ extern int use_windows;
|
||||
#define ROOTED_P(X) (SLASH_P((X)[0]))
|
||||
#endif
|
||||
|
||||
/* On some systems, PIDGET is defined to extract the inferior pid from
|
||||
an internal pid that has the thread id and pid in seperate bit
|
||||
fields. If not defined, then just use the entire internal pid as
|
||||
the actual pid. */
|
||||
|
||||
#ifndef PIDGET
|
||||
#define PIDGET(pid) (pid)
|
||||
#endif
|
||||
|
||||
#endif /* #ifndef DEFS_H */
|
||||
|
||||
Reference in New Issue
Block a user