about summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
authorRicho Healey <richo@psych0tik.net>2015-01-09 20:38:53 -0800
committerRicho Healey <richo@psych0tik.net>2015-01-11 21:14:58 -0800
commit8341ee4075e46d4f5470c6081be4135cdffd21ed (patch)
treecd84e5ba5aeb47633f6176c40fd7e01bbbbbd164 /src/rt
parent7a05dc273dc193c747853e35231e165b2665e3f0 (diff)
downloadrust-8341ee4075e46d4f5470c6081be4135cdffd21ed.tar.gz
rust-8341ee4075e46d4f5470c6081be4135cdffd21ed.zip
powerpc: rough platform support
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/arch/powerpc/morestack.S20
-rw-r--r--src/rt/arch/powerpc/record_sp.S4
2 files changed, 24 insertions, 0 deletions
diff --git a/src/rt/arch/powerpc/morestack.S b/src/rt/arch/powerpc/morestack.S
new file mode 100644
index 00000000000..ebacf6f1dc4
--- /dev/null
+++ b/src/rt/arch/powerpc/morestack.S
@@ -0,0 +1,20 @@
+#include "macros.S"
+
+// Mark stack as non-executable
+#if defined(__linux__) && defined(__ELF__)
+.section       .note.GNU-stack, "", %progbits
+#endif
+
+/* See i386/morestack.S for the lengthy, general explanation. */
+
+.global rust_stack_exhausted
+
+.hidden __morestack
+
+// FIXME(POWERPC): this might not be perfectly right but works for now
+__morestack:
+       .cfi_startproc
+       bl rust_stack_exhausted
+       // the above function ensures that it never returns
+       .cfi_endproc
+.end  __morestack
diff --git a/src/rt/arch/powerpc/record_sp.S b/src/rt/arch/powerpc/record_sp.S
new file mode 100644
index 00000000000..e93a69a711b
--- /dev/null
+++ b/src/rt/arch/powerpc/record_sp.S
@@ -0,0 +1,4 @@
+// Mark stack as non-executable
+#if defined(__linux__) && defined(__ELF__)
+.section       .note.GNU-stack, "", %progbits
+#endif