[llvm-bugs] [Bug 43749] Definition __ZTSPKDu in itanium-base.exp is used for -export_symbol but is really undefined

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 1 12:53:37 PDT 2020


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

Louis Dionne <ldionne at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ldionne at apple.com
         Resolution|---                         |INVALID
             Status|NEW                         |RESOLVED
           Assignee|unassignedbugs at nondot.org   |ldionne at apple.com

--- Comment #2 from Louis Dionne <ldionne at apple.com> ---
What compiler are you using? I'm guessing you're using a fairly old Clang.

The issue is that the compiler emits type information for fundamental types in
libc++abi, and your compiler doesn't know about char8_t yet, so it doesn't emit
the type information for those. libc++abi tries to export these symbols and it
fails to do so, because they haven't been generated in the dylib by the
compiler.

Getting a linker error is quite nice, because otherwise you'd be producing a
libc++abi.dylib that doesn't work properly at runtime (say if you try to use
typeid(char8_t) in your program).

The fix is to use a recent Clang when building libc++ and libc++abi.

-- 
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/20200601/6b304e06/attachment.html>


More information about the llvm-bugs mailing list