1 // Do not compile anything here for iOS because split stacks
2 // are disabled at all and do not need any runtime support.
4 // See also comments in librustrt/stack.rs about why it was
5 // disabled and how it could be implemented in case of need.
6 #if !defined(__APPLE__)
7 // Mark stack as non-executable
8 #if defined(__linux__) && defined(__ELF__)
9 .section .note.GNU-stack, "", %progbits
17 #define RECORD_SP_LIMIT record_sp_limit
18 #define GET_SP_LIMIT get_sp_limit
20 .globl RECORD_SP_LIMIT
24 // First, try to read TLS address from coprocessor
25 mrc p15, #0, r3, c13, c0, #3
27 // Otherwise, try to read from magic address 0xFFFF0FF0
41 // First, try to read TLS address from coprocessor
42 mrc p15, #0, r3, c13, c0, #3
44 // Otherwise, try to read from magic address 0xFFFF0FF0