<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><span style="font-size: 12pt;">>></span><span style="font-size: 12pt;">></span><span style="font-size: 12pt; color: rgb(33, 33, 33);">But then does it make sence to emit multiple .debug_info sections with </span><span style="color: rgb(33, 33, 33); font-family: monospace; font-size: 13px;">-gsplit-dwarf</span><span style="font-size: 12pt; color: rgb(33, 33, 33);">,
so that objects will contain skeleton .debug_info and</span><br>
</p>
<div dir="ltr" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<div>
<div dir="ltr" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<div>
<div dir="ltr" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<div>
<div style="color:rgb(33,33,33)">
<div>
<div dir="ltr">>>>.debug_info sections with type units as described in DWARF5. So that linker will be able to do deduplication of<br>
</div>
<div dir="ltr">>>>types on a sections level as expected ?<br>
</div>
<div dir="ltr">>><br>
>>Looks that just would not work as skeleton CU has no children according to spec..<br>
</div>
<div dir="ltr">>> </div>
<div dir="ltr">>>George.<br>
</div>
<div dir="ltr">> </div>
<div dir="ltr">>Ah, please ignore the above. Skeleton CU looks does not need children for that.<br>
</div>
<div dir="ltr">>So theoretical scenario I meant was:<br>
<span style="font-size:12pt">>1) test.o file has:</span><br>
</div>
<div dir="ltr">>.debug_info skeleton<br>
</div>
<div dir="ltr">>[0..N] .debug_info sections with types<br>
</div>
<div dir="ltr">>2) Then test.dwo would have full .debug_info with declarations of types<br>
</div>
<div dir="ltr">>which definitions are still in test.o.<br>
</div>
<div dir="ltr">> </div>
<div dir="ltr">>I am not sure if it is possible to represent and makes sence. Assuming it is possible,</div>
<div dir="ltr"><span style="font-size:12pt">>and there is enough duplicate types, that would add some work </span><span style="font-size:12pt">f</span><span style="font-size:12pt">or linker to deduplicate</span></div>
<div dir="ltr"><span style="font-size:12pt">>sections, though it should be fast, </span><span style="font-size:12pt">a</span><span style="font-size:12pt">nd would increase output binary for size of deduplicated types. </span></div>
<div dir="ltr"><span style="font-size:12pt">>But also would reduce size of whole set (</span><span style="font-size:12pt">executable + *.dwo), what can probably be useful.</span></div>
<div dir="ltr"><span style="font-size:12pt">> </span></div>
<div dir="ltr"><span style="font-size:12pt">>George.</span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">After more time thinking about all above, I think it <span style="font-size: 12pt;">contradicts with core idea of </span><span style="font-family: monospace; font-size: 13px;">-gsplit-dwarf</span><span style="font-size: 12pt;"> and therefore
un</span><span style="font-size: 12pt;">u</span><span style="font-size: 12pt;">seful.</span></div>
<div dir="ltr">Sorry for all that noise.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">George.<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>