[llvm-dev] [RFC] - Deduplication of debug information in linkers (LLD).

George Rimar via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 6 06:54:45 PST 2017


>>>But then does it make sence to emit multiple .debug_info sections with -gsplit-dwarf, so that objects will contain skeleton .debug_info and

>>>.debug_info sections with type units as described in DWARF5. So that linker will be able to do deduplication of
>>>types on a sections level as expected ?
>>
>>Looks that just would not work as skeleton CU has no children according to spec..
>>
>>George.
>
>Ah, please ignore the above. Skeleton CU looks does not need children for that.
>So theoretical scenario I meant was:
>1) test.o file has:
>.debug_info skeleton
>[0..N] .debug_info sections with types
>2) Then test.dwo would have full .debug_info with declarations of types
>which definitions are still in test.o.
>
>I am not sure if it is possible to represent and makes sence. Assuming it is possible,
>and there is enough duplicate types, that would add some work for linker to deduplicate
>sections, though it should be fast, and would increase output binary for size of deduplicated types.
>But also would reduce size of whole set (executable + *.dwo), what can probably be useful.
>
>George.

After more time thinking about all above, I think it contradicts with core idea of -gsplit-dwarf? and therefore unuseful.
Sorry for all that noise.

George.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171206/d9297a9f/attachment.html>


More information about the llvm-dev mailing list