We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 56293ad commit 1d15be6Copy full SHA for 1d15be6
src/probestack.rs
@@ -64,6 +64,11 @@ pub unsafe extern fn __rust_probestack() {
64
// bytes pushed on the stack orginally with our return address. Using
65
// `8(%rsp)` simulates us testing the stack pointer in the caller's
66
// context.
67
+
68
+ // It's usually called when %rax >= 0x1000, but that's not always true.
69
+ // Dynamic stack allocation, which is needed to implement unsized
70
+ // rvalues, triggers stackprobe even if %rax < 0x1000.
71
+ // Thus we have to check %r11 first to avoid segfault.
72
cmp $$0x1000,%r11
73
jna 3f
74
2:
0 commit comments