> On Thu, Aug 1, 2019 at 3:10 PM Martin Liška <mli...@suse.cz> wrote: > > > > Hi. > > > > In LTO WPA mode we don't have to append temp file name > > to the global cdtor function names. > > Is that true? You can link with -r -flinker-output=rel and use > multiple WPA phases whose results you then finally link. > > So I don't think it's that easy. You might be able to look at > all_translation_units, pick the one with a sensible name > (hmm, not sure if we actually have a name there) and the lowest > UID and use that? Thus, make the set of involved source files > known and pick one. Ah, > > struct GTY(()) tree_translation_unit_decl { > struct tree_decl_common common; > /* Source language of this translation unit. Used for DWARF output. */ > const char * GTY((skip(""))) language; > /* TODO: Non-optimization used to build this translation unit. */ > /* TODO: Root of a partial DWARF tree for global types and decls. */ > }; > > so you might be able to get at a filename via the decls location, > I'm not sure. Do we have any LTO records per "input file" where we > can stream main_input_filename to?
This is all bit sloppy. If you incrmentally link into .o file and then use LTO again to add more code, you will very likely run into conflict with .lto_priv clones as well. Especially now when we made them more stable. I wondered if Linker should not provide us also with list of symbols that are used in the unit, so we can safely produce more local ones? Honza > > > It helps to have a reproducible > > builds with LTO mode. > > > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > > > Ready to be installed? > > Thanks, > > Martin > > > > gcc/ChangeLog: > > > > 2019-08-01 Martin Liska <mli...@suse.cz> > > > > PR lto/91307 > > * tree.c (get_file_function_name): Use "wpa" when > > we are in WPA LTO mode. > > --- > > gcc/tree.c | 17 +++++++++++------ > > 1 file changed, 11 insertions(+), 6 deletions(-) > > > >