Index: uspace/lib/libc/generic/thread.c
===================================================================
--- uspace/lib/libc/generic/thread.c	(revision ccf814f73c779a8626e11c6228a90af59620ace2)
+++ uspace/lib/libc/generic/thread.c	(revision a2c58f6642dae539243221fb1f2a71c8611327e6)
@@ -131,4 +131,6 @@
 {
 	__SYSCALL1(SYS_THREAD_EXIT, (sysarg_t) status);
+	for (;;)
+		;
 }
 
@@ -153,4 +155,5 @@
 int thread_join(thread_id_t thread)
 {
+	return 0;
 }
 
Index: uspace/lib/libc/include/thread.h
===================================================================
--- uspace/lib/libc/include/thread.h	(revision ccf814f73c779a8626e11c6228a90af59620ace2)
+++ uspace/lib/libc/include/thread.h	(revision a2c58f6642dae539243221fb1f2a71c8611327e6)
@@ -46,5 +46,5 @@
 
 extern int thread_create(void (*)(void *), void *, char *, thread_id_t *);
-extern void thread_exit(int);
+extern void thread_exit(int) __attribute__ ((noreturn));
 extern void thread_detach(thread_id_t);
 extern int thread_join(thread_id_t);
