<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </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 --- - Xcode build: be explicit about which clang and LLVM .a files get linked into LLDB"
   href="https://llvm.org/bugs/show_bug.cgi?id=28953">28953</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Xcode build: be explicit about which clang and LLVM .a files get linked into LLDB
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lldb
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>MacOS X
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

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

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

        <tr>
          <th>Assignee</th>
          <td>lldb-dev@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>todd.fiala@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The Xcode build uses the scripts/Xcode/build-llvm.py script.  That script makes
a simplification to link against LLVM and clang libs, simply linking against
all the .a files.

While this is simple, it also is not accurate.  Incremental builders can run
into trouble if a library gets refactored into another, in which case we'll
still link against the stale, inert .a files that were orphaned, leading to
whatever linkage issues that may entail.

In addition, we are potentially increasing the amount of work the linker needs
to do to cut out dead code.

Change the script to be explicit about what we need to link against within LLVM
and clang.  This may require some investigation on the clang side.  See
comments here:

<a href="https://reviews.llvm.org/D23444">https://reviews.llvm.org/D23444</a>

Those comments indicate we may be able to use llvm-config for the LLVM side.</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>