Index: uspace/lib/c/include/inttypes.h
===================================================================
--- uspace/lib/c/include/inttypes.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/inttypes.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,4 +36,8 @@
 #define LIBC_INTTYPES_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <_bits/inttypes.h>
 
@@ -45,4 +49,8 @@
 #endif
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/limits.h
===================================================================
--- uspace/lib/c/include/limits.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/limits.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,5 +36,13 @@
 #define LIBC_LIMITS_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <_bits/limits.h>
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif
Index: uspace/lib/c/include/setjmp.h
===================================================================
--- uspace/lib/c/include/setjmp.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/setjmp.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -34,4 +34,8 @@
 #define LIBC_SETJMP_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <libarch/fibril_context.h>
 #include <_bits/__noreturn.h>
@@ -45,4 +49,8 @@
 extern __noreturn void longjmp(jmp_buf, int);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/stdarg.h
===================================================================
--- uspace/lib/c/include/stdarg.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stdarg.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,4 +36,7 @@
 #define LIBC_STDARG_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 typedef __builtin_va_list va_list;
@@ -44,4 +47,8 @@
 #define va_copy(dst, src)   __builtin_va_copy(dst, src)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/stdbool.h
===================================================================
--- uspace/lib/c/include/stdbool.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stdbool.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,5 +36,13 @@
 #define LIBC_BOOL_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <abi/bool.h>
+
+#ifdef __cplusplus
+}
+#endif
 
 #ifndef __cplusplus
Index: uspace/lib/c/include/stddef.h
===================================================================
--- uspace/lib/c/include/stddef.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stddef.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,4 +36,8 @@
 #define LIBC_STDDEF_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <_bits/size_t.h>
 #include <_bits/ssize_t.h>
@@ -46,4 +50,8 @@
 	((size_t) &(((type *) 0)->member))
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/stdint.h
===================================================================
--- uspace/lib/c/include/stdint.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stdint.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,5 +36,13 @@
 #define LIBC_STDINT_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <_bits/stdint.h>
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif
Index: uspace/lib/c/include/stdio.h
===================================================================
--- uspace/lib/c/include/stdio.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stdio.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -37,4 +37,8 @@
 #define LIBC_STDIO_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <offset.h>
 #include <stdarg.h>
@@ -214,4 +218,8 @@
 
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/stdlib.h
===================================================================
--- uspace/lib/c/include/stdlib.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/stdlib.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -35,4 +35,8 @@
 #ifndef LIBC_STDLIB_H_
 #define LIBC_STDLIB_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #include <_bits/size_t.h>
@@ -104,4 +108,8 @@
 extern lldiv_t lldiv(long long, long long);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/str.h
===================================================================
--- uspace/lib/c/include/str.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/str.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,4 +36,8 @@
 #ifndef LIBC_STR_H_
 #define LIBC_STR_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #include <errno.h>
@@ -139,4 +143,8 @@
 extern unsigned long strtoul(const char *, char **, int);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
 
Index: uspace/lib/c/include/time.h
===================================================================
--- uspace/lib/c/include/time.h	(revision af8bda0f3d3547999b99c77e5b3831e1419e973d)
+++ uspace/lib/c/include/time.h	(revision 9f77d98f542414bdbcb510aa5ada108b1df5d2cc)
@@ -36,7 +36,15 @@
 #define LIBC_TIME_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <sys/time.h>
 
 extern time_t time(time_t *);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif
