From 5ea11700e5c25d5213d80104a402c8fd427cda76 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Dumont?= Date: Mon, 30 Oct 2023 19:35:35 +0100 Subject: [PATCH] libstdc++: [_GLIBCXX_INLINE_VERSION] Un-weak handle_contract_violation libstdc++-v3/ChangeLog: * src/experimental/contract.cc [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. Remove weak attribute. --- libstdc++-v3/src/experimental/contract.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/src/experimental/contract.cc b/libstdc++-v3/src/experimental/contract.cc index d550b49c4eb4..39ad4bd7d075 100644 --- a/libstdc++-v3/src/experimental/contract.cc +++ b/libstdc++-v3/src/experimental/contract.cc @@ -69,8 +69,9 @@ handle_contract_violation (const std::experimental::contract_violation &violatio } #if _GLIBCXX_INLINE_VERSION -// Provide symbol without version namespace decoration for gcc. -extern "C" __attribute__ ((weak)) void +// The compiler expects the contract_violation class to be in an unversioned +// namespace, so provide a forwarding function with the expected symbol name. +extern "C" void _Z25handle_contract_violationRKNSt12experimental18contract_violationE (const std::experimental::contract_violation &violation) { handle_contract_violation(violation); } -- 2.47.2