[libcxx-commits] [PATCH] D119969: [libc++] Unconditionally provide the ability for users to enable assertions

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 1 07:10:28 PST 2022


ldionne added a comment.

In D119969#3349883 <https://reviews.llvm.org/D119969#3349883>, @manojgupta wrote:

> Running readelf shows following in our shipping shared libs.
>
>    231: 00000000000c7db0     8 OBJECT  GLOBAL DEFAULT   23 _ZNSt3__123__libcpp_debug_functionE
>    668: 0000000000075160    13 FUNC    GLOBAL DEFAULT   14 _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE
>   1438: 0000000000075110    79 FUNC    GLOBAL DEFAULT   14 _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE
>   1979: 0000000000074ef0   544 FUNC    GLOBAL DEFAULT   14 _ZNKSt3__119__libcpp_debug_info4whatEv

Okay, right -- so as expected, you've been shipping support for the debug mode as part of the dylib, and if any user has been enabling assertions with `_LIBCPP_DEBUG=0`, they are relying on those symbols. So I think my proposed direction stands (it's this patch as-is). It's not the most elegant design since we're reusing old `__libcpp_debug_foo` for assertions, but I think it's the best decision engineering-wise for the time being.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119969/new/

https://reviews.llvm.org/D119969



More information about the libcxx-commits mailing list