This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Make cdtor names stable for LTO (PR lto/91307).

On 8/1/19 4:21 PM, Richard Biener wrote:
> On Thu, Aug 1, 2019 at 3:10 PM Martin Liška <> 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

Ah, I see.

> (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?

Honza, can you help us with this?

>> 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  <>
>>         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(-)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]