summaryrefslogtreecommitdiff
path: root/thread_pthread.h
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2025-01-17 22:48:10 +0900
committerNobuyoshi Nakada <[email protected]>2025-01-17 22:48:10 +0900
commitf7059af50a31a4d27a04ace0beadb60616f3f971 (patch)
treed1d238d9d58133eeb2daec577b233b18709700dc /thread_pthread.h
parentcc7fafb459725565e448b7d1f1bc9ae88679602e (diff)
Use no-inline version `rb_current_ec` on Arm64
The TLS across .so issue seems related to Arm64, but not Darwin.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12593
Diffstat (limited to 'thread_pthread.h')
-rw-r--r--thread_pthread.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/thread_pthread.h b/thread_pthread.h
index dfc8ad4272..b632668a2a 100644
--- a/thread_pthread.h
+++ b/thread_pthread.h
@@ -133,8 +133,8 @@ struct rb_thread_sched {
#ifdef RB_THREAD_LOCAL_SPECIFIER
NOINLINE(void rb_current_ec_set(struct rb_execution_context_struct *));
- # ifdef __APPLE__
- // on Darwin, TLS can not be accessed across .so
+ # if defined(__arm64__) || defined(__aarch64__)
+ // on Arm64, TLS can not be accessed across .so
NOINLINE(struct rb_execution_context_struct *rb_current_ec(void));
# else
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;