Arch-abstraction:
- Factored out the remaining arch-specific code from vg_libpthread.c.
- Also fixed up the build process for x86/libpthread.c, which was done
wrongly in the previous commit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2798 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/core.h b/coregrind/core.h
index a3dc106..68f16cc 100644
--- a/coregrind/core.h
+++ b/coregrind/core.h
@@ -1532,6 +1532,28 @@
const vki_ksigset_t *mask);
extern Int VGA_(pop_signal_frame) ( ThreadId tid );
+// libpthread stuff
+typedef struct arch_thread_aux arch_thread_aux_t;
+
+void VGA_(thread_create) ( arch_thread_aux_t *aux );
+void VGA_(thread_wrapper)( arch_thread_aux_t *aux );
+void VGA_(thread_exit) ( void );
+
+Bool VGA_(has_tls) ( void );
+
+#define MY__STRING(__str) #__str
+
+// Assertion to use in code running on the simulated CPU.
+#define my_assert(expr) \
+ ((void) ((expr) ? 0 : \
+ (VG_(user_assert_fail) (MY__STRING(expr), \
+ __FILE__, __LINE__, \
+ __PRETTY_FUNCTION__), 0)))
+
+extern void VG_(user_assert_fail) ( const Char* expr, const Char* file,
+ Int line, const Char* fn );
+
+
// ---------------------------------------------------------------------
// Platform-specific things defined in eg. x86/*.c
// ---------------------------------------------------------------------