<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - lld creates bogus dwarf info"
   href="https://bugs.llvm.org/show_bug.cgi?id=40482">40482</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>lld creates bogus dwarf info
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lld
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mail@milianw.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, peter.smith@linaro.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>$ g++ --version
g++ (GCC) 8.2.1 20181127

$ ld --version
LLD 7.0.1 (compatible with GNU linkers)

$ gdb --version
GNU gdb (GDB) 8.2.1

I just tried to switch to ld.lld from ld.gold for performance reasons, but hit
a road block: Apparently the DWARF emitted into the final executable or library
is bogus and leads to issues when trying to load it then in consumers like gdb,
valgrind, bloaty, ...

Here are some examples from a single KDE projects (ki18n). Note that I was so
far not able to reproduce this in a simplified standalone example.

Reading symbols from bin/libKF5I18n.so...Dwarf Error: bad offset
(0xcc08000026980004) in compilation unit header (offset 0x6fbe2 + 6) [in module
/home/milian/projects/kf5/build-dbg/frameworks/ki18n/bin/libKF5I18n.so.5.54.0]

Reading symbols from ktranscript.so...Dwarf Error: wrong version in compilation
unit header (is 422, should be 2, 3, 4 or 5) [in module
/home/milian/projects/kf5/build-dbg/frameworks/ki18n/bin/ktranscript.so]

Reading symbols from ki18n-ktranscripttest...Dwarf Error: wrong version in
compilation unit header (is 1024, should be 2, 3, 4 or 5) [in module
/home/milian/projects/kf5/build-dbg/frameworks/ki18n/bin/ki18n-ktranscripttest]

I have seen at least one more variation of the version header issue (version
514).

When I instead link with ld.gold, none of these issues show up.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>