<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 - ld64.lld.darwinnew exports too many symbols"
   href="https://bugs.llvm.org/show_bug.cgi?id=48536">48536</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ld64.lld.darwinnew exports too many symbols
          </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>All
          </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>MachO
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>nicolasweber@gmx.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Get this repro file:
<a href="https://drive.google.com/file/d/1_QaShjqjIACu-jMZZUB4e2wfZVziB7Ds/view?usp=sharing">https://drive.google.com/file/d/1_QaShjqjIACu-jMZZUB4e2wfZVziB7Ds/view?usp=sharing</a>

When linking with ld64:

% nm -gUm Chromium\ Framework
0000000000003b00 (__TEXT,__text) external _ChromeAppModeStart_v6
0000000000004880 (__TEXT,__text) external _ChromeMain
000000000a2824b8 (__DATA,__objc_data) external _OBJC_CLASS_$_RTCDispatcher
000000000a282508 (__DATA,__objc_data) external _OBJC_CLASS_$_RTCEncodedImage
000000000a282530 (__DATA,__objc_data) external _OBJC_CLASS_$_RTCVideoCapturer
000000000a282580 (__DATA,__objc_data) external _OBJC_CLASS_$_RTCVideoCodecInfo
000000000a2825d0 (__DATA,__objc_data) external
_OBJC_CLASS_$_RTCVideoEncoderQpThresholds
000000000a282648 (__DATA,__objc_data) external
_OBJC_CLASS_$_RTCVideoEncoderSettings
000000000a282670 (__DATA,__objc_data) external _OBJC_CLASS_$_RTCVideoFrame
000000000a282490 (__DATA,__objc_data) external _OBJC_METACLASS_$_RTCDispatcher
000000000a2824e0 (__DATA,__objc_data) external
_OBJC_METACLASS_$_RTCEncodedImage
000000000a282558 (__DATA,__objc_data) external
_OBJC_METACLASS_$_RTCVideoCapturer
000000000a2825a8 (__DATA,__objc_data) external
_OBJC_METACLASS_$_RTCVideoCodecInfo
000000000a2825f8 (__DATA,__objc_data) external
_OBJC_METACLASS_$_RTCVideoEncoderQpThresholds
000000000a282620 (__DATA,__objc_data) external
_OBJC_METACLASS_$_RTCVideoEncoderSettings
000000000a282698 (__DATA,__objc_data) external _OBJC_METACLASS_$_RTCVideoFrame

(And the objc exports are unintentional,
<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1159620">https://bugs.chromium.org/p/chromium/issues/detail?id=1159620</a> -- but that's our
fault and not ld64's fault).


With lld:

% nm -gUm Chromium\ Framework | wc -l
  797022

Looks like hidden visibility just isn't implemented at all maybe. Or maybe it's
just not set in the symbol table, which is what nm looks at (and our script for
checking this in chromium uses nm).</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>