<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82477>82477</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[BOLT] llvm-bolt using "--update-debug-sections" produces corrupted debug symbols in (dwarf64 and dwarf32) binary.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
BOLT
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ARG-NK
</td>
</tr>
</table>
<pre>
I am optimizing a ELF64/AArch64 binary compiled with coexisting dwarf32 and dwarf64 formats.
BOLT (llvm-bolt --update-debug-sections) produces corrupted debug sections/symbols and are unreadable with consumers like readelf, gdb or llvm-dwarfdump.
**Does BOLT support updating debug sections with dwarf64 format ?** or Can BOLT emit header with first 4bytes of initial length field as ''0xffffffff" for dwarf64 format ?
1. readelf -w <file.so>

2. llvm-dwarfdump --debug-info <file.so>

(somehow readelf interrupts a different Unit length compared to llvm-dwarfdump !?)
hexDump:
first Unit at start of debug section:

second Unit starts at : 0x359eaa0 + 4 (headerLength) + 0x0ff561 (Unit size) = 0x369e005

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VVFv6zYP_TXKC6FApmTZfshD2tx8-LBiA4btB0gWnWizrUCS1_b--kFO0t4W24A93AVBYoASeQ4PfWhS8qeZaMfqB1YfNmbJ5xB3-5__x3_8YWODe939H8wE4ZL95L_6-QQGvjwdtWJ43O9jf9YKrJ9NfIU-TBc_koNnn8_QB3rxKZcb7tnEQSKY2V2ftYIhxMnktAUmDkzsH356-gUYtuP4x8RtGDNwvlycycQd2eXEE_XZhzkx7OASg1t6StCHGJdLJgfrIXg_dEyvkw1jWmuaSLDMkYwzdqQ7vDktE8UEo_-doARpHBg-wslZCBFWJCtat0yXO87bL5bvIVCCFXhaLpcQM6yIV8Yf4FwrfmQOTB6vaaBUezTzNRVNPsO5oInXa4OPKYOyr5kShAH87LM3I4w0n9YwjQ5MAoYNw0a8DLcPQyyl_qLsByrV9s4d-DMw-Tj4kbYpMPnlzrVi9YOfzIlYfWDYnnO-JCb3DI8Mjyefz4vd9mFieCw9u_3xSwy_UZ8ZHk1KlIsmVd1KbFpRMTy2ZHRtuoZj2xJXrZO8a03FFXatJNVXziqG3bdQcftJFOC34fDzEP5D7L3Sxikl-CCo50oQ8k41kndCIzYOHbbfYMc2hYnO4fmt0X7OtA5uAgPODwNFmjP8Ovt8l7W8SyaSgxw-ky6kyux86M2ZXg7LdGFyf1P3OjZrSpMhZRNzmZ4Pg_l--js1CqtGtForrqVsubJWcCuHnrddJ0xHgxtq_YlIoj7M7gp8RZ1gndo9iBdZd2SMAIYPoIpbXN-Tp7VlxRhKQLyIYah1VeLXLP4rrUF5KDl0R0LU35W2rLumrfuG15JqrtpBc6Os4tT1Fk3fOlENb7RvCmzcTrpOdmZDu9K1WnQNVpvzjgaNWintXF2rwVZaaGGlIa2E6W2tNn6HApVArCohUFRb1NpqY2TXWWz7zjIlaDJ-3Bbs2xBPG5_SQrsWVdNsRmNpTKv_IxYLYohlE8Td1YuXU2JKjD7l9J4g-zyuO2O9UB_g3beXVAyQIf6tgeM_GPjNtf1c5Ltb19vekFiEvK6bLWyWOO7-tWIr96LYSv_PAAAA__8BqCtG">