summaryrefslogtreecommitdiff
path: root/gcc/lto-wrapper.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-28 12:48:54 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-28 12:48:54 +0000
commit2024fa7dbee1d101d002d21b9bab2d326fac7476 (patch)
tree5aa4ad3639ee9491cd94586d51f36ed76ad99dc0 /gcc/lto-wrapper.c
parentacd6f472dd0e06dc096af25ddd7572a60dad8e1d (diff)
downloadgcc-2024fa7dbee1d101d002d21b9bab2d326fac7476.tar.gz
2010-05-28 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (run_gcc): With -save-temps generate a user-visible ltrans filename. Fixup ltrans unit numbering. lto/ * lto.c (prefix_name_with_star): Removed. (strip_extension): Likewise. (get_filename_for_set): Likewise. (lto_write_ltrans_list): Fold into ... (lto_wpa_write_files): ... this. Name LTRANS units by suffixing the ltrans output list filename. (do_whole_program_analysis): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159967 138bc75d-0d04-0410-961f-82ee72b054a4
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 7454b54af79..dda272bd1d9 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;
}