[llvm-bugs] [Bug 48536] New: ld64.lld.darwinnew exports too many symbols

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 16 16:42:08 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=48536

            Bug ID: 48536
           Summary: ld64.lld.darwinnew exports too many symbols
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: MachO
          Assignee: unassignedbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: llvm-bugs at lists.llvm.org

Get this repro file:
https://drive.google.com/file/d/1_QaShjqjIACu-jMZZUB4e2wfZVziB7Ds/view?usp=sharing

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,
https://bugs.chromium.org/p/chromium/issues/detail?id=1159620 -- 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).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201217/536bb814/attachment.html>


More information about the llvm-bugs mailing list