musllvm

A pure LLVM/Clang cross compiler toolchain targeting musl C
git clone git://git.daat.foo/musllvm.git
Log | Files | Refs | README | LICENSE

0029-libcxx-default-to-type-2.patch (1260B)


      1 From 14dca6a04af1828917ab1602ff8b1d225411bf7b Mon Sep 17 00:00:00 2001
      2 From: q66 <q66@chimera-linux.org>
      3 Date: Wed, 16 Apr 2025 00:29:41 +0200
      4 Subject: [PATCH 29/29] libcxx: default to type 2
      5 
      6 // This implementation of type_info does not assume there is always a unique
      7 // copy of the RTTI for a given type inside a program. For various reasons
      8 // the linker may have failed to merge every copy of a types RTTI
      9 // (For example: -Bsymbolic or llvm.org/PR37398). Under this assumption, two
     10 // type_infos are equal if their addresses are equal or if a deep string
     11 // comparison is equal.
     12 
     13 this is mostly for compat with libstdc++, which some projects
     14 like kde* rely on:
     15 
     16 https://bugs.kde.org/show_bug.cgi?id=479679
     17 ---
     18  libcxx/include/typeinfo | 2 +-
     19  1 file changed, 1 insertion(+), 1 deletion(-)
     20 
     21 diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo
     22 index 799c6ebd5..12572e646 100644
     23 --- a/libcxx/include/typeinfo
     24 +++ b/libcxx/include/typeinfo
     25 @@ -182,7 +182,7 @@ public:
     26  
     27  // On all other platforms, assume the Itanium C++ ABI and use the Unique implementation.
     28  #        else
     29 -#          define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 1
     30 +#          define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 2
     31  #        endif
     32  #      endif
     33  
     34 -- 
     35 2.49.0
     36