summaryrefslogtreecommitdiff
path: root/yjit/bindgen/src
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2023-09-14 17:18:45 -0400
committerGitHub <noreply@github.com>2023-09-14 17:18:45 -0400
commit1961c5bb767a451928dc719d37c2b38f89d248c6 (patch)
tree9e92d1585057253c5349ed458af97c6d5f66ad07 /yjit/bindgen/src
parent66ffa15ce01e1b8d46738032e714be18194af3ca (diff)
YJIT: Plug native stack overflow
Previously, TestStack#test_machine_stack_size failed pretty consistently on ARM64 macOS, with Rust code and part of the interpreter used for per-instruction fallback (rb_vm_invokeblock() and friends) touching the stack guard page and crashing with SEGV. I've also seen the same test fail on x64 Linux, though with a different symptom.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/8443 Merged-By: XrXr
Diffstat (limited to 'yjit/bindgen/src')
-rw-r--r--yjit/bindgen/src/main.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/yjit/bindgen/src/main.rs b/yjit/bindgen/src/main.rs
index baa71fc6cf..db93672a3d 100644
--- a/yjit/bindgen/src/main.rs
+++ b/yjit/bindgen/src/main.rs
@@ -449,6 +449,7 @@ fn main() {
.allowlist_function("rb_obj_class")
.allowlist_function("rb_obj_is_proc")
.allowlist_function("rb_vm_base_ptr")
+ .allowlist_function("rb_ec_stack_check")
// We define VALUE manually, don't import it
.blocklist_type("VALUE")