diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-08-29 17:42:49 +0900 |
---|---|---|
committer | usa <usa@garbagecollect.jp> | 2022-09-16 15:12:47 +0900 |
commit | 7900a9bd388cff65ba98e4fa09b296eb1f4f815e (patch) | |
tree | 70f8d9cd959e9eb771904bdf3c253b55ead2e32c /mjit_worker.c | |
parent | 9733f4d0f00a38b5f77ee2e2fffdff866828cd66 (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.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mjit_worker.c b/mjit_worker.c index d3e333da31..f7f0b6bced 100644 --- a/mjit_worker.c +++ b/mjit_worker.c @@ -937,7 +937,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); |