summaryrefslogtreecommitdiff
path: root/mjit.c
diff options
context:
space:
mode:
authorYuta Saito <kateinoigakukun@gmail.com>2022-07-30 20:26:57 +0900
committerYuta Saito <kateinoigakukun@gmail.com>2022-08-04 16:29:22 +0900
commit00f411c58ac6105f135ff4501ea5bd1d691fcc32 (patch)
treef9130f413c1d6342a61ad5a5c5ba1ba831caa509 /mjit.c
parent184fd94d7e8023d7720be985089bae00c4bdfa2b (diff)
Add `-bundle_loader` to mjit compilation args on macOS
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6193
Diffstat (limited to 'mjit.c')
-rw-r--r--mjit.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/mjit.c b/mjit.c
index 01ad7339f0..98f4af3d18 100644
--- a/mjit.c
+++ b/mjit.c
@@ -811,8 +811,16 @@ start_compiling_c_to_so(const char *c_file, const char *so_file)
# endif
c_file, NULL
};
- char **args = form_args(7, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS, cc_added_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
+
+ char **args = form_args(8, CC_LDSHARED_ARGS, CC_CODEFLAG_ARGS, cc_added_args,
+ so_args, loader_args, CC_LIBS, CC_DLDFLAGS_ARGS, CC_LINKER_ARGS);
if (args == NULL) return -1;
rb_vm_t *vm = GET_VM();