On Tue, Jul 20, 2021 at 11:07:26AM +0200, Richard Biener wrote:
> The following makes sure to apply the debug prefix maps to filenames
> before checksumming DIEs to create the global symbol for the CU DIE
> used by LTO to link the late debug to the early debug.  This avoids
> binary differences (in said symbol) when compiling with toolchains
> installed under a different path and that compensated with appropriate
> -fdebug-prefix-map options.
> 
> The easiest and most scalable way is to record both the unmapped
> and the remapped filename in the dwarf_file_data so the remapping
> process takes place at a single point and only once (otherwise it
> creates GC garbage at each point doing that).
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu.  OK?
> 
> Thanks,
> Richard.
> 
> 2021-07-20  Richard Biener  <rguent...@suse.de>
> 
>       PR debug/101473
>       * dwarf2out.h (dwarf_file_data): Add key member.
>       * dwarf2out.c (dwarf_file_hasher::equal): Compare key.
>       (dwarf_file_hasher::hash): Hash key.
>       (lookup_filename): Remap the filename and store it in the
>       filename member of dwarf_file_data when creating a new
>       dwarf_file_data.
>       (file_name_acquire): Do not remap the filename again.
>       (maybe_emit_file): Likewise.

Ok.

        Jakub

Reply via email to