// Run a thread from beginning to end.
extern VgSchedReturnCode VGO_(thread_wrapper)(Word /*ThreadId*/ tid);
-// Allocates a stack for the first thread, then runs it,
-// as if the thread had been set up by clone()
-extern void VGP_(main_thread_wrapper_NORETURN)(ThreadId tid);
-
-// Return how many bytes of a thread's Valgrind stack are unused
-extern SSizeT VGA_(stack_unused)(ThreadId tid);
-
// wait until all other threads are dead
extern void VGA_(reap_threads)(ThreadId self);
/*--------------------------------------------------------------------*/
/*--- end ---*/
/*--------------------------------------------------------------------*/
+
// but also the code that executes them, and related stuff.
//--------------------------------------------------------------------
+// Return how many bytes of a thread's Valgrind stack are unused
+extern SSizeT VGA_(stack_unused)(ThreadId tid);
+
+// Allocates a stack for the first thread, then runs it,
+// as if the thread had been set up by clone()
+extern void VGP_(main_thread_wrapper_NORETURN)(ThreadId tid);
+
extern HChar* VG_(resolve_filename_nodup)(Int fd);
extern HChar* VG_(resolve_filename)(Int fd);