Merge with git+ssh://master.kernel.org/pub/scm/libs/klibc/klibc.git
diff --git a/usr/include/assert.h b/usr/include/assert.h
index ec74037..d89e082 100644
--- a/usr/include/assert.h
+++ b/usr/include/assert.h
@@ -5,13 +5,15 @@
 #ifndef _ASSERT_H
 #define _ASSERT_H
 
+#include <klibc/compiler.h>
+
 #ifdef NDEBUG
 
 #define assert(x) ((void)(x))
 
 #else
 
-extern void __assert_fail(const char *, const char *, unsigned int);
+extern __noreturn __assert_fail(const char *, const char *, unsigned int);
 
 #define assert(x) ((x) ? (void)0 : __assert_fail(#x, __FILE__, __LINE__))
 
diff --git a/usr/klibc/assert.c b/usr/klibc/assert.c
index b922416..cca4129 100644
--- a/usr/klibc/assert.c
+++ b/usr/klibc/assert.c
@@ -5,8 +5,9 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <assert.h>
+#include <klibc/compiler.h>
 
-void __assert_fail(const char *expr, const char *file, unsigned int line)
+__noreturn __assert_fail(const char *expr, const char *file, unsigned int line)
 {
 	printf("Assertion %s failed, file %s, line %u\n", expr, file, line);
 	abort();