Index: uspace/lib/compat/errno.h
===================================================================
--- uspace/lib/compat/errno.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
+++ uspace/lib/compat/errno.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -0,0 +1,12 @@
+
+#ifndef COMPAT_ERRNO_H
+#define COMPAT_ERRNO_H
+
+#include "../../c/include/errno.h"
+
+// TODO: HelenOS has negative error codes, while C standard dictates
+//       positive. Does any sane application depend on this, or can
+//       we just leave it as is?
+
+#endif // COMPAT_ERRNO_H
+
Index: uspace/lib/compat/signal.h
===================================================================
--- uspace/lib/compat/signal.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
+++ uspace/lib/compat/signal.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -0,0 +1,56 @@
+
+#include "sys/types.h"
+#include "time.h"
+#include "errno.h"
+
+/* HelenOS doesn't have signals, so calls to functions of this header
+ * are just replaced with their respective failure return value.
+ *
+ * Other macros and constants are here just to satisfy the symbol resolver
+ * and have no practical value whatsoever, until HelenOS implements some
+ * equivalent of signals. Maybe something neat based on IPC could be devised
+ * in the future?
+ */
+
+#define SIG_DFL ((void (*)(int)) 0)
+#define SIG_ERR ((void (*)(int)) 0)
+#define SIG_IGN ((void (*)(int)) 0)
+
+
+#define signal(sig,func) (errno = ENOTSUP, SIG_ERR)
+#define raise(sig) ((int)-1)
+
+typedef int sig_atomic_t;
+
+// full POSIX set
+enum {
+	SIGABRT,
+	SIGALRM,
+	SIGBUS,
+	SIGCHLD,
+	SIGCONT,
+	SIGFPE,
+	SIGHUP,
+	SIGILL,
+	SIGINT,
+	SIGKILL,
+	SIGPIPE,
+	SIGQUIT,
+	SIGSEGV,
+	SIGSTOP,
+	SIGTERM,
+	SIGTSTP,
+	SIGTTIN,
+	SIGTTOU,
+	SIGUSR1,
+	SIGUSR2,
+	SIGPOLL,
+	SIGPROF,
+	SIGSYS,
+	SIGTRAP,
+	SIGURG,
+	SIGVTALRM,
+	SIGXCPU,
+	SIGXFSZ
+};
+
Index: uspace/lib/compat/stdio.h
===================================================================
--- uspace/lib/compat/stdio.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
+++ uspace/lib/compat/stdio.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -0,0 +1,10 @@
+
+#ifndef COMPAT_STDIO_H
+#define COMPAT_STDIO_H
+
+#include "../../c/include/stdio.h"
+
+#define putc fputc
+
+#endif
+
Index: uspace/lib/compat/stdlib.h
===================================================================
--- uspace/lib/compat/stdlib.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
+++ uspace/lib/compat/stdlib.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -0,0 +1,11 @@
+
+#ifndef COMPAT_STDLIB_H
+#define COMPAT_STDLIB_H
+
+#include "../../c/include/stdlib.h"
+
+#define _exit exit
+#define _Exit exit
+
+#endif // COMPAT_STDLIB_H
+
Index: uspace/lib/compat/sys/types.h
===================================================================
--- uspace/lib/compat/sys/types.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
+++ uspace/lib/compat/sys/types.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -0,0 +1,11 @@
+
+#ifndef COMPAT_TYPES_H
+#define COMPAT_TYPES_H
+
+#include "../../c/include/sys/types.h"
+#include <task.h>
+
+typedef task_id_t pid_t;
+
+#endif
+
Index: uspace/lib/compat/unistd.h
===================================================================
--- uspace/lib/compat/unistd.h	(revision 40ef3ede2847add27c76f6d69b13ae552a425854)
+++ uspace/lib/compat/unistd.h	(revision 3daba9de13c4597ea96bf761683c09cb0efe8505)
@@ -40,4 +40,6 @@
 extern int isatty(int fd);
 
+#define getpid task_get_id
+
 #endif /* COMPAT_UNISTD_H */
 
