summaryrefslogtreecommitdiff
path: root/mjit_worker.c
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2022-08-29 17:42:49 +0900
committernagachika <nagachika@ruby-lang.org>2022-09-04 16:53:31 +0900
commit1821b7596986bda917f4de175f9b299d0a699d9e (patch)
tree4d8b37d1f163fd3d95a8b8b70e820b18a7895f0c /mjit_worker.c
parent882d4203f184ac93ac5c2c02c1e9f4b26cfad1db (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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mjit_worker.c b/mjit_worker.c
index 879237eacc..fb77d4ff19 100644
--- a/mjit_worker.c
+++ b/mjit_worker.c
@@ -939,7 +939,13 @@ compile_c_to_so(const char *c_file, const char *so_file)
# endif
o_file, NULL
};
- args = form_args(6, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS, so_args, 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
+ args = form_args(7, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS, so_args, loader_args, CC_LIBS, CC_DLDFLAGS_ARGS, CC_LINKER_ARGS);
if (args == NULL) return false;
exit_code = exec_process(cc_path, args);
free(args);