[libcxx-commits] [libcxx] [libc++][hardening] Rework how the assertion handler can be overridden. (PR #77883)

Nico Weber via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jan 17 22:35:21 PST 2024


nico wrote:

After reading this for a bit, putting the macro in __config_site probably doesn't work, due to circular includes.

Can you say a bit more about which problem this solves?

Also, since the file is only getting copied, why is it called `.in`?

I think on our end, for layering reasons, we'll have to provide a version of this file that calls a weak symbol that calls std::abort and then provide a strong override in our base library that calls our dump override (…since a small number of test binaries don't link in our base library). So we'll basically have to reinvent what's in libc++. Not the end of the world, but a bunch of busywork, and it's not super clear why this approach is better to me. (It also doesn't _have_ to be clear to me, of course! I'm still curious why the change was made.)

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


More information about the libcxx-commits mailing list