Replace ../include/wait.h with gdb_wait.h.
[deliverable/binutils-gdb.git] / gdb / sol-thread.c
index 218ab38f34c3416a0ad8c70f0339252b86566b72..71e92167bdfa149419f0fad4cc1fec462355c9ab 100644 (file)
@@ -1446,6 +1446,7 @@ sol_find_new_threads ()
       printf_filtered ("No process.\n");
       return;
     }
+  procfs_find_new_threads ();  /* first find new kernel threads. */
   p_td_ta_thr_iter (main_ta, sol_find_new_threads_callback, (void *) 0,
                    TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
                    TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
@@ -1493,7 +1494,6 @@ info_cb (th, s)
 {
   td_err_e ret;
   td_thrinfo_t ti;
-  struct minimal_symbol *msym;
 
   if ((ret = p_td_thr_get_info (th, &ti)) == TD_OK)
     {
@@ -1527,17 +1527,25 @@ info_cb (th, s)
        }
       /* Print thr_create start function: */
       if (ti.ti_startfunc != 0)
-       if (msym = lookup_minimal_symbol_by_pc (ti.ti_startfunc))
-         printf_filtered ("   startfunc: %s\n", SYMBOL_NAME (msym));
-       else
-         printf_filtered ("   startfunc: 0x%08x\n", ti.ti_startfunc);
+       {
+         struct minimal_symbol *msym;
+         msym = lookup_minimal_symbol_by_pc (ti.ti_startfunc);
+         if (msym)
+           printf_filtered ("   startfunc: %s\n", SYMBOL_NAME (msym));
+         else
+           printf_filtered ("   startfunc: 0x%s\n", paddr (ti.ti_startfunc));
+       }
 
       /* If thread is asleep, print function that went to sleep: */
       if (ti.ti_state == TD_THR_SLEEP)
-       if (msym = lookup_minimal_symbol_by_pc (ti.ti_pc))
-         printf_filtered (" - Sleep func: %s\n", SYMBOL_NAME (msym));
-       else
-         printf_filtered (" - Sleep func: 0x%08x\n", ti.ti_startfunc);
+       {
+         struct minimal_symbol *msym;
+         msym = lookup_minimal_symbol_by_pc (ti.ti_pc);
+         if (msym)
+           printf_filtered (" - Sleep func: %s\n", SYMBOL_NAME (msym));
+         else
+           printf_filtered (" - Sleep func: 0x%s\n", paddr (ti.ti_startfunc));
+       }
 
       /* Wrap up line, if necessary */
       if (ti.ti_state != TD_THR_SLEEP && ti.ti_startfunc == 0)
@@ -1602,6 +1610,7 @@ init_sol_thread_ops ()
   sol_thread_ops.to_can_run = sol_thread_can_run;
   sol_thread_ops.to_notice_signals = sol_thread_notice_signals;
   sol_thread_ops.to_thread_alive = sol_thread_alive;
+  sol_thread_ops.to_pid_to_str = solaris_pid_to_str;
   sol_thread_ops.to_find_new_threads = sol_find_new_threads;
   sol_thread_ops.to_stop = sol_thread_stop;
   sol_thread_ops.to_stratum = process_stratum;
@@ -1652,6 +1661,7 @@ init_sol_core_ops ()
   sol_core_ops.to_has_registers = 1;
   sol_core_ops.to_has_execution = 0;
   sol_core_ops.to_has_thread_control = tc_none;
+  sol_core_ops.to_pid_to_str = solaris_pid_to_str;
   sol_core_ops.to_sections = 0;
   sol_core_ops.to_sections_end = 0;
   sol_core_ops.to_magic = OPS_MAGIC;
This page took 0.024021 seconds and 4 git commands to generate.