aboutsummaryrefslogtreecommitdiff
path: root/gdb/defs.h
diff options
context:
space:
mode:
authorDawn Perchik <dawn@cygnus>1997-02-12 10:27:11 +0000
committerDawn Perchik <dawn@cygnus>1997-02-12 10:27:11 +0000
commit16a43bf443c8e2ab7fc9d35e131d6a3d773149b6 (patch)
tree9b78fdc456dfb492e00d1f10f97c26b4d647e469 /gdb/defs.h
parent6fb47af03652d5d32a4d46f91a7f3771d0aecdbd (diff)
downloadgdb-16a43bf443c8e2ab7fc9d35e131d6a3d773149b6.zip
gdb-16a43bf443c8e2ab7fc9d35e131d6a3d773149b6.tar.gz
gdb-16a43bf443c8e2ab7fc9d35e131d6a3d773149b6.tar.bz2
* 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.
Diffstat (limited to 'gdb/defs.h')
-rw-r--r--gdb/defs.h41
1 files changed, 33 insertions, 8 deletions
diff --git a/gdb/defs.h b/gdb/defs.h
index 039bb6a..b8bb15e 100644
--- a/gdb/defs.h
+++ b/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 */