aboutsummaryrefslogtreecommitdiff
path: root/sys/rt/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/rt/stack.c')
-rw-r--r--sys/rt/stack.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/rt/stack.c b/sys/rt/stack.c
new file mode 100644
index 0000000..5ab7a8a
--- /dev/null
+++ b/sys/rt/stack.c
@@ -0,0 +1,17 @@
+#include <u.h>
+#include <arch/atomic.h>
+
+/* unprefixed names determined by gcc */
+uintptr __stack_chk_guard;
+
+void
+rt·guardstack(void)
+{
+ __stack_chk_guard = (uintptr)&__stack_chk_guard*1103515245;
+}
+
+void
+__stack_chk_fail(void)
+{
+ atomic·crash();
+}