On Mon, 16 Feb 2015, H.J. Lu wrote: > On Mon, Feb 16, 2015 at 6:25 AM, Richard Biener <rguent...@suse.de> wrote: > > > > This fixes another leakage of random LTO temporary filenames into > > executables, this time via .symtab FILE entries. Removing it > > doesn't work (GNU ld adds it back) and is said to be incorrect. > > FWIW, ld.bfd will be fixed in 2.26. But it is still a good idea to > support older links.
Yeah, especiall as I plan to backport this series if the reporter is happy. Richard. > > So the following patch, similar to the dwarf CU DW_AT_name uses > > <artificial>. > > > > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. > > > > Richard. > > > > 2015-02-16 Richard Biener <rguent...@suse.de> > > > > PR lto/65015 > > * varasm.c (default_file_start): For LTO produced units > > emit <artificial> as file directive. > > > > Index: gcc/varasm.c > > =================================================================== > > --- gcc/varasm.c (revision 220677) > > +++ gcc/varasm.c (working copy) > > @@ -7043,7 +7047,13 @@ default_file_start (void) > > fputs (ASM_APP_OFF, asm_out_file); > > > > if (targetm.asm_file_start_file_directive) > > - output_file_directive (asm_out_file, main_input_filename); > > + { > > + /* LTO produced units have no meaningful main_input_filename. */ > > + if (in_lto_p) > > + output_file_directive (asm_out_file, "<artificial>"); > > + else > > + output_file_directive (asm_out_file, main_input_filename); > > + } > > } > > > > /* This is a generic routine suitable for use as TARGET_ASM_FILE_END > > > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)