<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57716>57716</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lld does not demangle section/symbol names in gc/icf listings
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Trass3r
      </td>
    </tr>
</table>

<pre>
    ```
clang++ -ffunction-sections -fdata-sections -fuse-ld=lld -Wl,--gc-sections,--icf=safe,--print-gc-sections,--print-icf-sections,--demangle ...
```
```
  removing identical section foo.a(foo.o):(.text._ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv)
```

It would be helpful if lld demangled the section/symbol names when --demangle is passed.

Alternatively, maybe `llvm-cxxfilt` could be improved to be able to demangle that output.
Just like c++filt it gets confused by the prefixes like `.text.`, `.data.rel.ro.`, etc and doesn't demangle anything.
One needs to manually filter the output to make them work so it's not a good UX:
```sh
 | sed -E 's/\(\.(\w+\.)+/\0 /g' | c++filt
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1U01v2zgQ_TXSZWBBH7ZVHXRIEwdI0XYP3u0u9iJQ0khiQ5GCOHTif79D2knTbAsIIh85nHnvcdia_lxH-_T6pXdRetMpocco_8gfbIbB6Y6k0RuLYbS81gsSb7GzuFF9VNwp1cPmbxXlt5vN2L2GBCy7gSOsGDDAZZWa_hd0WeXQn5d7nJmTQkiS5ELyHed3EGDF2ZykHkH2qEl2QsE1IwzGJCLKP_jRRHkVFTeMEsJnSpp_vx4pL5rj0nTGacK-WWhtpF6U6PCBN7OiaQZHbsWmFRYZHknQBXzLD0fxcMyaw-evVdOM2jXd83OWN59N99gsRsnufMgPhyxtvjS9tIuxeDh5Cr_UFP4PBE_Gsa8twoRqGZwCOYB3-sWVHmjCF3lRfm_Pc2sUaDGjhacJNbxxUFpYhLXYJ2-r3CjCVQuSJ1RnthxmceaCzEWp07xhFYNUxBC6FzJyXlZz8sWNh6Ll5Dx9LUSTIDCOFkfXUp-cJVDyEaG7tJfPCZJgRLKcWPtG4tznoGdZcZDPrCCc4NKXG_L2MD-PfRsmK6pkNS_LSB0IzdYYtGxFST_4CH2miTviSuYPjaARe-tJc4gTSp3BM8I11L9Qv-w-ejk4802sj2ANc-bcFrQhEDAa08Nf__g2-vka7XTtxqi8Ba9scwB_jq8o2t1yz_E_uQxP3pCAqmCND0g5-J4fYhnOv7HsXZkY62y_L9Lyw3abxX1d9FVRiZgkKaxDn7AZgeurF7_pFalh5Dr3_P7YdUvslo3dquqJaLHhndx7TpIm1yadmRn4_rgO_HrNd87sM1jr0AvdlWW2j6e6H0Q2lHmXZ7steqYtbvtWiCHHdtjnWaxEi8rW0Y5V5hqfIKTgebS7i2Wdp3meVlmRbbNtmiZYllhVWZV2YmjToYq2KWuTKvE8ErOO8VoHSq0bLW96NfbHJj8AOfLth3KcXziazFr_ufJGscahdB2o_wddMJ_c">