From 8341ee4075e46d4f5470c6081be4135cdffd21ed Mon Sep 17 00:00:00 2001 From: Richo Healey Date: Fri, 9 Jan 2015 20:38:53 -0800 Subject: [PATCH] powerpc: rough platform support --- src/rt/arch/powerpc/morestack.S | 20 ++++++++++++++++++++ src/rt/arch/powerpc/record_sp.S | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 src/rt/arch/powerpc/morestack.S create mode 100644 src/rt/arch/powerpc/record_sp.S diff --git a/src/rt/arch/powerpc/morestack.S b/src/rt/arch/powerpc/morestack.S new file mode 100644 index 000000000000..ebacf6f1dc44 --- /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 000000000000..e93a69a711b3 --- /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