aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto-wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/lto-wrapper.c')
-rw-r--r--gcc/lto-wrapper.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 7454b54..dda272b 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -407,13 +407,21 @@ run_gcc (unsigned argc, char *argv[])
if (linker_output)
{
char *dumpbase = (char *) xmalloc (strlen (linker_output)
- + sizeof(".wpa") + 1);
+ + sizeof (".wpa") + 1);
strcpy (dumpbase, linker_output);
strcat (dumpbase, ".wpa");
argv_ptr[0] = dumpbase;
}
- ltrans_output_file = make_temp_file (".ltrans.out");
+ if (linker_output && debug)
+ {
+ ltrans_output_file = (char *) xmalloc (strlen (linker_output)
+ + sizeof (".ltrans.out") + 1);
+ strcpy (ltrans_output_file, linker_output);
+ strcat (ltrans_output_file, ".ltrans.out");
+ }
+ else
+ ltrans_output_file = make_temp_file (".ltrans.out");
list_option_full = (char *) xmalloc (sizeof (char) *
(strlen (ltrans_output_file) + list_option_len + 1));
tmp = list_option_full;
@@ -516,7 +524,7 @@ cont:
+ sizeof(DUMPBASE_SUFFIX) + 1);
snprintf (dumpbase,
strlen (linker_output) + sizeof(DUMPBASE_SUFFIX),
- "%s.ltrans%u", linker_output, nr);
+ "%s.ltrans%u", linker_output, i);
argv_ptr[0] = dumpbase;
}