summaryrefslogtreecommitdiff
path: root/mjit_worker.c
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2022-08-29 17:42:49 +0900
committerusa <usa@garbagecollect.jp>2022-09-16 15:11:08 +0900
commit31bc55dc90aa18222d5ed968e62fea4d46554d8c (patch)
tree7f1e6c062387afbef3340575f2a177511c8901aa /mjit_worker.c
parentc9c2245c0a25176072e02db9254f0e0c84c805cd (diff)
Backport https://github.com/ruby/ruby/pull/6193
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
Diffstat (limited to 'mjit_worker.c')
-rw-r--r--mjit_worker.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mjit_worker.c b/mjit_worker.c
index 95518883c6..f0b73be2d0 100644
--- a/mjit_worker.c
+++ b/mjit_worker.c
@@ -823,8 +823,15 @@ link_o_to_so(const char **o_files, const char *so_file)
NULL
};
- char **args = form_args(7, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS,
- options, o_files, CC_LIBS, CC_DLDFLAGS_ARGS, CC_LINKER_ARGS);
+# if defined(__MACH__)
+ extern VALUE rb_libruby_selfpath;
+ const char *loader_args[] = {"-bundle_loader", StringValuePtr(rb_libruby_selfpath), NULL};
+# else
+ const char *loader_args[] = {NULL};
+# endif
+
+ char **args = form_args(8, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS,
+ options, o_files, loader_args, CC_LIBS, CC_DLDFLAGS_ARGS, CC_LINKER_ARGS);
if (args == NULL)
return false;