summaryrefslogtreecommitdiff
path: root/tools/llvm-stub
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-stub')
-rw-r--r--tools/llvm-stub/llvm-stub.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/llvm-stub/llvm-stub.c b/tools/llvm-stub/llvm-stub.c
index 7009c8dee1..931f98a3d5 100644
--- a/tools/llvm-stub/llvm-stub.c
+++ b/tools/llvm-stub/llvm-stub.c
@@ -34,6 +34,14 @@ int main(int argc, char** argv) {
Args = (const char**)malloc(sizeof(char*) * (argc+2));
/* argv[0] is the JIT */
Args[0] = Interp;
+
+#ifdef __CYGWIN32__
+ /* Cygwin strips the .exe suffix off of argv[0] to "help" us. Put it back
+ * on.
+ */
+ argv[0] = strcat(strcpy((char*)malloc(strlen(argv[0])+5), argv[0]), ".exe");
+#endif
+
/* argv[1] is argv[0] + ".bc". */
Args[1] = strcat(strcpy((char*)malloc(strlen(argv[0])+4), argv[0]), ".bc");