Add detection of IMB and IMBRange SWIs.
[deliverable/binutils-gdb.git] / gdb / target.h
index 21c3babddba51906ff1410b79d3fb0d1f004f8ac..30d33a2101d869f2bb054c3085abe51dfbf291b3 100644 (file)
@@ -106,9 +106,14 @@ enum target_waitkind {
    signals (insofar as various unices use the same numbers, anyway).
    It is also the numbering of the GDB remote protocol.  Other remote
    protocols, if they use a different numbering, should make sure to
-   translate appropriately.  */
+   translate appropriately.
 
-/* This is based strongly on Unix/POSIX signals for several reasons:
+   Since these numbers have actually made it out into other software
+   (stubs, etc.), you mustn't disturb the assigned numbering.  If you
+   need to add new signals here, add them to the end of the explicitly
+   numbered signals.
+
+   This is based strongly on Unix/POSIX signals for several reasons:
    (1) This set of signals represents a widely-accepted attempt to
    represent events of this sort in a portable fashion, (2) we want a
    signal to make it from wait to child_wait to the user intact, (3) many
@@ -205,15 +210,21 @@ enum target_signal {
   TARGET_SIGNAL_REALTIME_61 = 73,
   TARGET_SIGNAL_REALTIME_62 = 74,
   TARGET_SIGNAL_REALTIME_63 = 75,
+
+  /* Used internally by Solaris threads.  See signal(5) on Solaris.  */
+  TARGET_SIGNAL_CANCEL = 76,
+
 #if defined(MACH) || defined(__MACH__)
   /* Mach exceptions */
-  TARGET_EXC_BAD_ACCESS = 76,
-  TARGET_EXC_BAD_INSTRUCTION = 77,
-  TARGET_EXC_ARITHMETIC = 78,
-  TARGET_EXC_EMULATION = 79,
-  TARGET_EXC_SOFTWARE = 80,
-  TARGET_EXC_BREAKPOINT = 81,
+  TARGET_EXC_BAD_ACCESS,
+  TARGET_EXC_BAD_INSTRUCTION,
+  TARGET_EXC_ARITHMETIC,
+  TARGET_EXC_EMULATION,
+  TARGET_EXC_SOFTWARE,
+  TARGET_EXC_BREAKPOINT,
 #endif
+  TARGET_SIGNAL_INFO,
+
   /* Some signal we don't know about.  */
   TARGET_SIGNAL_UNKNOWN,
 
@@ -354,6 +365,7 @@ struct target_ops
   int        (*to_can_run) PARAMS ((void));
   void       (*to_notice_signals) PARAMS ((int pid));
   int        (*to_thread_alive) PARAMS ((int pid));
+  void        (*to_find_new_threads) PARAMS ((void));
   void       (*to_stop) PARAMS ((void));
   int        (*to_query) PARAMS ((int/*char*/, char *, char *, int *));
   struct symtab_and_line * (*to_enable_exception_callback) PARAMS ((enum exception_event_kind, int));
@@ -885,6 +897,14 @@ print_section_info PARAMS ((struct target_ops *, bfd *));
 #define target_thread_alive(pid) \
        (*current_target.to_thread_alive) (pid)
 
+/* Query for new threads and add them to the thread list.  */
+
+#define target_find_new_threads() \
+     do { \
+       if (current_target.to_find_new_threads) \
+         (*current_target.to_find_new_threads) (); \
+     } while (0);
+
 /* Make target stop in a continuable fashion.  (For instance, under Unix, this
    should act like SIGSTOP).  This function is normally used by GUIs to
    implement a stop button.  */
@@ -1212,6 +1232,8 @@ find_default_create_inferior PARAMS ((char *, char *, char **));
 void
 find_default_clone_and_follow_inferior PARAMS ((int, int *));
 
+extern struct target_ops *find_run_target PARAMS ((void));
+
 extern struct target_ops *
 find_core_target PARAMS ((void));
 \f
This page took 0.025429 seconds and 4 git commands to generate.