-diff -u -r ../ruby-2.1.2/process.c ./process.c
---- ../ruby-2.1.2/process.c 2014-02-20 05:44:35.000000000 +0100
-+++ ./process.c 2014-06-27 09:37:35.479988774 +0200
-@@ -1148,9 +1148,9 @@
+diff -u -r ../ruby-2.3.0/process.c ./process.c
+--- ../ruby-2.3.0/process.c 2015-12-23 03:57:48.000000000 -0500
++++ ./process.c 2015-12-25 15:40:56.370279634 -0500
+@@ -1227,9 +1227,9 @@
*argv = (char *)prog;
*--argv = (char *)"sh";
if (envp)
- execve("/bin/sh", argv, envp); /* async-signal-safe */
-+ execve("/system/bin/sh", argv, envp); /* async-signal-safe */
++ execve("@TERMUX_PREFIX@/bin/sh", argv, envp); /* async-signal-safe */
else
-- execv("/bin/sh", argv); /* async-signal-safe */
-+ execv("/system/bin/sh", argv); /* async-signal-safe */
+- execv("/bin/sh", argv); /* async-signal-safe (since SUSv4) */
++ execv("@TERMUX_PREFIX@/bin/sh", argv); /* async-signal-safe (since SUSv4) */
}
#else
-@@ -1307,9 +1307,9 @@
+@@ -1301,9 +1301,9 @@
}
#else
if (envp_str)
- execle("/bin/sh", "sh", "-c", str, (char *)NULL, (char **)RSTRING_PTR(envp_str)); /* async-signal-safe */
-+ execle("/system/bin/sh", "sh", "-c", str, (char *)NULL, (char **)RSTRING_PTR(envp_str)); /* async-signal-safe */
++ execle("@TERMUX_PREFIX@/bin/sh", "sh", "-c", str, (char *)NULL, (char **)RSTRING_PTR(envp_str)); /* async-signal-safe */
else
-- execl("/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe */
-+ execl("/system/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe */
+- execl("/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe (since SUSv4) */
++ execl("@TERMUX_PREFIX@/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe (since SUSv4) */
#endif
return -1;
#endif /* _WIN32 */
-@@ -1418,7 +1418,7 @@
+@@ -1406,7 +1406,7 @@
if (status == -1 && errno == ENOEXEC) {
*argv = (char *)prog;
*--argv = (char *)"sh";
- status = spawnv(P_NOWAIT, "/bin/sh", (const char **)argv);
-+ status = spawnv(P_NOWAIT, "/system/bin/sh", (const char **)argv);
++ status = spawnv(P_NOWAIT, "@TERMUX_PREFIX@/bin/sh", (const char **)argv);
after_exec();
if (status == -1) errno = ENOEXEC;
}
-@@ -1456,7 +1456,7 @@
+@@ -1444,7 +1444,7 @@
char *shell = dln_find_exe_r("sh", 0, fbuf, sizeof(fbuf));
before_exec();
- status = spawnl(P_NOWAIT, (shell ? shell : "/bin/sh"), "sh", "-c", str, (char*)NULL);
-+ status = spawnl(P_NOWAIT, (shell ? shell : "/system/bin/sh"), "sh", "-c", str, (char*)NULL);
++ status = spawnl(P_NOWAIT, (shell ? shell : "@TERMUX_PREFIX@/bin/sh"), "sh", "-c", str, (char*)NULL);
after_exec();
return status;
}