danalbert added a comment.

> Are you 100% sure that you're not just a person with broken code?

Absolutely, since it isn't my code ;) I maintain the toolchain and this is a 
behavioral change when switching from libstdc++ to libc++.

> In other words, what did this guy from 2013 get wrong? -- or, if "he got 
> nothing wrong", then why can't you just follow his advice to eliminate the 
> duplicate typeinfos from your code? 
> http://www.russellmcc.com/posts/2013-08-03-rtti.html

That post is all about binaries that were built with hidden visibility and says 
nothing about the case of `dlopen`. There's nothing wrong with the code as 
built. All the symbols have public visibility, all the `type_infos` are weak, 
everything works correctly if you explicitly link the libraries to the final 
executable or `dlopen` only one library (not always an option).

If anyone is still skeptical, libsupc++ went through this at one point too and 
eventually decided to use `strcmp` by default because otherwise RTTI doesn't 
work in plugin architectures (which is essentially what JNI is). 
https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01239.html


Repository:
  rL LLVM

https://reviews.llvm.org/D38599



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to