[libcxx-commits] [libcxx] [libc++] Speed up classic locale (PR #70631)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 13 01:32:15 PST 2023


philnik777 wrote:

> > The ABI break is actually that you remove functions from the dylib. Adding new ones isn't a huge problem.
> 
> Ah, I see.
> 
> The problem is removing from dylib methods that are called by user code (ctor/dtor). Removing internal methods (like locale::__imp::make_global()) is not a problem, because they are not called by user code. Right?

Yes, exactly.

> If I try to resolve this, is there a way to test this? IIRC ninja check-cxx passed for me.
> 
> Is we take an address of the ctor and assign to some global volatile var in the source file, then it should force the ctor symbol into dylib. However, this is not possible for dtor, since it's not possible to take dtor address (at least I did not find any).

We have `check-cxx-abilist` for this. It checks that the symbols exported from the dylib match the ones listed in the `abilist` files in `libcxx/lib/abi/`.

https://github.com/llvm/llvm-project/pull/70631


More information about the libcxx-commits mailing list