[llvm-dev] [LLVMdev] Adding a stack probe function attribute
John Kåre Alsaker
john.mailinglists at gmail.com
Wed Aug 5 13:30:06 PDT 2015
Rust is going ahead and removing it's abuse of segmented stack support
for stack overflow checking
(https://github.com/rust-lang/rust/pull/27338). This leaves it without
foolproof stack overflow checking. So it would be nice if this could
I suggest the following:
Add a "probe-stack" attribute (which can become a proper attribute
named probestack later), leaving the implementation of stack probing
up to LLVM.
Implement stack probing for x86 on non-Windows platforms with a call
to __probestack, with __probestack being added to compiler-rt.
Implement stack probing for ARM using the same code as Windows only
with __chkstk renamed to __probestack.
Other backends should use __probestack as the name for the stack
probing function if needed.
If there turns out to be an issue with the stack probe function name,
add a "stack-probe-function" attribute later (which goes along with
"stack-probe-size") allowing users to use their own name for the stack
More information about the llvm-dev