<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 --- - support extern (e.g. "C++") in version script handling"
   href="https://llvm.org/bugs/show_bug.cgi?id=28357">28357</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>support extern (e.g. "C++") in version script handling
          </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>FreeBSD
          </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>ELF
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>emaste@freebsd.org
          </td>
        </tr>

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

        <tr>
          <th>Blocks</th>
          <td>23214
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>See review <a href="http://reviews.llvm.org/D21607">http://reviews.llvm.org/D21607</a> and the thread at
<a href="http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/366812.html">http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160620/366812.html</a>
for previous discussion.

The FreeBSD base system relies on `extern "C++"` in at least the libcxxrt
version script. In FreeBSD we have the ability to replace all of these with the
mangled names if necessary as a workaround, but I suspect this will be a
problem for other third-party software so opening this bug to track.


e.g. from FreeBSD libcxxrt's Version.map:

CXXABI_1.3 {
  global:
  ...
  extern "C++" {
        # Type info classes and their destructors
        "__cxxabiv1::__array_type_info";
        "__cxxabiv1::__array_type_info::~__array_type_info()";
  ...
  };
  ...
};</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>