MaskRay added a comment.

In D94647#2497170 <https://reviews.llvm.org/D94647#2497170>, @dblaikie wrote:

> In implicit thinlto this seemed to work for me without any changes:
>
>   $ clang++-tot -flto=thin test.cpp -g -c
>   $ clang++-tot -flto=thin -fuse-ld=lld -gsplit-dwarf test.o && 
> llvm-dwarfdump-tot a.out
>   a.out:  file format elf64-x86-64
>   
>   .debug_info contents:
>   0x00000000: Compile Unit: length = 0x0000002c, format = DWARF32, version = 
> 0x0004, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x00000030)
>   
>   0x0000000b: DW_TAG_compile_unit
>                 DW_AT_stmt_list   (0x00000000)
>                 DW_AT_comp_dir    
> ("/usr/local/google/home/blaikie/dev/scratch")
>                 DW_AT_GNU_dwo_name        ("a.out_dwo/1.dwo")
>                 DW_AT_GNU_dwo_id  (0xf29563d7c812deae)
>                 DW_AT_low_pc      (0x0000000000201730)
>                 DW_AT_high_pc     (0x0000000000201738)
>                 DW_AT_GNU_addr_base       (0x00000000)
>
> Any idea why that worked without the need for a special case/changes? Might 
> be nice if both these use cases (implicit and explicit thinlto) somehow 
> managed to use more common code generation options. But I guess that's too 
> different - probably some generic "take all the clang flags and pass them 
> through to the linker to pass back to the compiler", which isn't really 
> relevant to this... well, maybe (if they're being passed back to the compiler 
> in implicit thin lto, how does implicit thin lto work correctly without the 
> -g flag?)

Interesting. D44788 <https://reviews.llvm.org/D44788> let Clang driver pass 
`-plugin-opt=dwo_dir=` to the linker. LTOBackend.cpp emits 
`$dwo_dir/[1234].dwo`.

There are .dwo files but the file names are a bit less ideal. For distributed 
ThinLTO, I think specifying the dwo filename explicitly is better.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94647/new/

https://reviews.llvm.org/D94647

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to