Esempio n. 1
0
HIDDEN void
tdep_init (void)
{
  intrmask_t saved_mask;

  Debug(1, "called\n");

  sigfillset (&unwi_full_mask);

  lock_acquire (&x86_64_lock, saved_mask);
  {
    if (tdep_init_done)
      /* another thread else beat us to it... */
      goto out;

    mi_init ();

    dwarf_init ();

    tdep_init_mem_validate ();

    x86_64_local_addr_space_init ();

    tdep_init_done = 1; /* signal that we're initialized... */
  }
 out:
  lock_release (&x86_64_lock, saved_mask);

  Debug(1, "done\n");
}
Esempio n. 2
0
HIDDEN void
tdep_init (void)
{
  intrmask_t saved_mask;

  sigfillset (&unwi_full_mask);

  lock_acquire (&x86_64_lock, saved_mask);
  {
    if (tdep_init_done)
      /* another thread else beat us to it... */
      goto out;

    mi_init ();

    dwarf_init ();

    tdep_init_mem_validate ();

#ifndef UNW_REMOTE_ONLY
    x86_64_local_addr_space_init ();
#endif
    tdep_init_done = 1; /* signal that we're initialized... */
  }
 out:
  lock_release (&x86_64_lock, saved_mask);
}
Esempio n. 3
0
HIDDEN void
tdep_init (void)
{
  lock_init (&x86_64_lock, "tdep_init");

  lock_acquire (&x86_64_lock);
  {
    if (tdep_init_done)
      /* another thread else beat us to it... */
      goto out;

  
    mi_init ();
    dwarf_init ();
    tdep_init_mem_validate ();
    x86_64_local_addr_space_init ();

    tdep_init_done = 1;	/* signal that we're initialized... */
  }
 out:
  lock_release (&x86_64_lock);
}