aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rt.h15
-rw-r--r--include/u.h5
2 files changed, 20 insertions, 0 deletions
diff --git a/include/rt.h b/include/rt.h
new file mode 100644
index 0000000..43357cd
--- /dev/null
+++ b/include/rt.h
@@ -0,0 +1,15 @@
+#pragma once
+
+extern struct rt·Context
+{
+ void (*fini)(void);
+ void (*exit)(void);
+
+ uintptr *auxv;
+ uintptr pagesize;
+ uintptr sysinfo;
+} rt·context;
+
+extern char **rt·environ;
+
+void noreturn rt·exit(int code);
diff --git a/include/u.h b/include/u.h
index 333d6b2..d415d82 100644
--- a/include/u.h
+++ b/include/u.h
@@ -108,6 +108,11 @@ typedef __builtin_va_list va_list;
// ------------------------------------------------------------------
// global macros
+/* weak aliasing */
+#define noreturn _Noreturn
+#define hidden __attribute__((__visibility__("hidden")))
+#define weakalias(old, new) extern __typeof(old) new __attribute__((weak, alias(#old)))
+
/* offsets */
#define offsetof(t, d) __builtin_offsetof(t, d)