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

George Rimar via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 6 05:25:29 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.

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


More information about the llvm-dev mailing list