diff options
author | Nobuyoshi Nakada <[email protected]> | 2025-01-17 22:48:10 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2025-01-17 22:48:10 +0900 |
commit | f7059af50a31a4d27a04ace0beadb60616f3f971 (patch) | |
tree | d1d238d9d58133eeb2daec577b233b18709700dc /thread_pthread.h | |
parent | cc7fafb459725565e448b7d1f1bc9ae88679602e (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.h | 4 |
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; |