diff options
-rw-r--r-- | config.def.h | 1 | ||||
-rw-r--r-- | driver.c | 7 |
2 files changed, 1 insertions, 7 deletions
diff --git a/config.def.h b/config.def.h index a43260b..2c87cdd 100644 --- a/config.def.h +++ b/config.def.h @@ -44,7 +44,6 @@ static char *preprocesscmd[] = { "-D", "__signed__=signed", "-D", "__thread=_Thread_local", }; -static char *compilecmd[] = {"cc-qbe"}; static char *codegencmd[] = {"qbe"}; static char *assemblecmd[] = {"as"}; static char *linkcmd[] = {"ld", "--dynamic-linker=" DYNAMICLINKER}; @@ -320,8 +320,6 @@ compilecommand(char *arg) fatal("target of /proc/self/exe is too large"); } strcpy(self + n, "-qbe"); - if (access(self, X_OK) < 0) - return NULL; cmd = strdup(self); if (!cmd) fatal("strdup:"); @@ -338,13 +336,10 @@ main(int argc, char *argv[]) size_t i; arrayaddbuf(&phases[PREPROCESS].cmd, preprocesscmd, sizeof(preprocesscmd)); - arrayaddbuf(&phases[COMPILE].cmd, compilecmd, sizeof(compilecmd)); + arrayaddptr(&phases[COMPILE].cmd, compilecommand(argv[0])); arrayaddbuf(&phases[CODEGEN].cmd, codegencmd, sizeof(codegencmd)); arrayaddbuf(&phases[ASSEMBLE].cmd, assemblecmd, sizeof(assemblecmd)); arrayaddbuf(&phases[LINK].cmd, linkcmd, sizeof(linkcmd)); - arg = compilecommand(argv[0]); - if (arg) - *(char **)phases[COMPILE].cmd.val = arg; argv0 = progname(argv[0], "cc"); for (;;) { |