This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.
> On 8/23/19 4:37 PM, Jan Hubicka wrote:
> >> On 8/23/19 2:33 PM, Martin Liška wrote:
> >>> So in WPA, we shift order by order_base. For streaming purpose I'll need
> >>> something like symtab_node::lgen_order that will be streamer_read_hwi (ib).
> >>
> >> And we'll probably need to stream the original LGEN symtab_node::order
> >> in order to read proper section during LTRANS. Am I right?
> >
> > Well, at WPA time you know node->order and from lto_file_data you know
> > how to recalculate node->order to original node->order at compile time.
>
> How can I recalculate that? One possible solution is to store order_base
> for each struct lto_file_decl_data *file_data in input_node function.
Yep, i would keep order_base in file_data.
>
> > During the section copying you can arrange it to be renamed to new
> > node->order which you then stream from WPA to ltrans.
>
> That's a nice solution. Can you please point me to the code which
> does that?
copy_function_or_variable preserves section name but it seems like it
should be easy to invent new name there.
>
> And what's your opinion about section naming scheme $name.$order.$file_hash?
Why you need the file hash? I hope the orders would be reasonably stable
way to code things w/o conflicts.
Honza
>
> Thanks,
> Martin
>
> >
> > Honza
> >>
> >> Martin
>