diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/rt.h | 15 | ||||
-rw-r--r-- | include/u.h | 5 |
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)
|