From: François Dumont Date: Mon, 30 Oct 2023 18:35:35 +0000 (+0100) Subject: libstdc++: [_GLIBCXX_INLINE_VERSION] Un-weak handle_contract_violation X-Git-Tag: basepoints/gcc-15~5120 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ea11700e5c25d5213d80104a402c8fd427cda76;p=thirdparty%2Fgcc.git 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. --- 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); }