diff options
author | Alexander Smirnov <alex@ydb.tech> | 2025-02-25 00:59:16 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2025-02-25 00:59:16 +0000 |
commit | d5d249ba7e34e2c686bf7c43e70eb27eba40fd6a (patch) | |
tree | 3bbd46a2f889269f7725954797ede9e215aa31bf /contrib | |
parent | a674a8f6c0a31e5a5c3b28333d533ae31797ecaa (diff) | |
parent | 323be453c6ab71c14d13b1fe775de412ffbca95f (diff) | |
download | ydb-d5d249ba7e34e2c686bf7c43e70eb27eba40fd6a.tar.gz |
Merge branch 'rightlib' into merge-libs-250225-0058
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/libs/cxxsupp/libcxxmsvc/include/initializer_list | 4 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/cxxabi.h | 1 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/exception.cc | 50 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/ya.make | 2 |
4 files changed, 30 insertions, 27 deletions
diff --git a/contrib/libs/cxxsupp/libcxxmsvc/include/initializer_list b/contrib/libs/cxxsupp/libcxxmsvc/include/initializer_list index 66b0575cb7..f5175993b0 100644 --- a/contrib/libs/cxxsupp/libcxxmsvc/include/initializer_list +++ b/contrib/libs/cxxsupp/libcxxmsvc/include/initializer_list @@ -47,12 +47,14 @@ template<class E> const E* end(initializer_list<E> il) noexcept; // constexpr in #if defined(_LIBCPP_COMPILER_MSVC) && !defined(__clang__) -// save __cpp_lib_concepts because it can be redefined inside MSVC standard headers +// save __cpp_lib_concepts and __cpp_lib_ranges because they can be redefined inside MSVC standard headers #pragma push_macro("__cpp_lib_concepts") +#pragma push_macro("__cpp_lib_ranges") #include Y_MSVC_INCLUDE_NEXT(yvals.h) #pragma pop_macro("__cpp_lib_concepts") +#pragma pop_macro("__cpp_lib_ranges") #include Y_MSVC_INCLUDE_NEXT(initializer_list) diff --git a/contrib/libs/cxxsupp/libcxxrt/cxxabi.h b/contrib/libs/cxxsupp/libcxxrt/cxxabi.h index 2e50c9b7f5..6aec41c743 100644 --- a/contrib/libs/cxxsupp/libcxxrt/cxxabi.h +++ b/contrib/libs/cxxsupp/libcxxrt/cxxabi.h @@ -22,6 +22,7 @@ #ifndef __CXXABI_H_ #define __CXXABI_H_ +#include <stddef.h> #include <stdint.h> #include "unwind.h" namespace std diff --git a/contrib/libs/cxxsupp/libcxxrt/exception.cc b/contrib/libs/cxxsupp/libcxxrt/exception.cc index 7c34bd9cbe..ea19474857 100644 --- a/contrib/libs/cxxsupp/libcxxrt/exception.cc +++ b/contrib/libs/cxxsupp/libcxxrt/exception.cc @@ -287,31 +287,6 @@ namespace std using namespace ABI_NAMESPACE; -/** - * Callback function used with _Unwind_Backtrace(). - * - * Prints a stack trace. Used only for debugging help. - * - * Note: As of FreeBSD 8.1, dladd() still doesn't work properly, so this only - * correctly prints function names from public, relocatable, symbols. - */ -static _Unwind_Reason_Code trace(struct _Unwind_Context *context, void *c) -{ - Dl_info myinfo; - int mylookup = - dladdr(reinterpret_cast<void *>(__cxa_current_exception_type), &myinfo); - void *ip = reinterpret_cast<void*>(_Unwind_GetIP(context)); - Dl_info info; - if (dladdr(ip, &info) != 0) - { - if (mylookup == 0 || strcmp(info.dli_fname, myinfo.dli_fname) != 0) - { - printf("%p:%s() in %s\n", ip, info.dli_sname, info.dli_fname); - } - } - return _URC_CONTINUE_UNWIND; -} - static void bt_terminate_handler() { __cxa_eh_globals* globals = __cxa_get_globals(); __cxa_exception* thrown_exception = globals->caughtExceptions; @@ -785,6 +760,31 @@ void __cxa_free_dependent_exception(void *thrown_exception) } /** + * Callback function used with _Unwind_Backtrace(). + * + * Prints a stack trace. Used only for debugging help. + * + * Note: As of FreeBSD 8.1, dladd() still doesn't work properly, so this only + * correctly prints function names from public, relocatable, symbols. + */ +static _Unwind_Reason_Code trace(struct _Unwind_Context *context, void *c) +{ + Dl_info myinfo; + int mylookup = + dladdr(reinterpret_cast<void *>(__cxa_current_exception_type), &myinfo); + void *ip = reinterpret_cast<void*>(_Unwind_GetIP(context)); + Dl_info info; + if (dladdr(ip, &info) != 0) + { + if (mylookup == 0 || strcmp(info.dli_fname, myinfo.dli_fname) != 0) + { + printf("%p:%s() in %s\n", ip, info.dli_sname, info.dli_fname); + } + } + return _URC_CONTINUE_UNWIND; +} + +/** * Report a failure that occurred when attempting to throw an exception. * * If the failure happened by falling off the end of the stack without finding diff --git a/contrib/libs/cxxsupp/libcxxrt/ya.make b/contrib/libs/cxxsupp/libcxxrt/ya.make index 7915fb58be..f9eb8743d8 100644 --- a/contrib/libs/cxxsupp/libcxxrt/ya.make +++ b/contrib/libs/cxxsupp/libcxxrt/ya.make @@ -1,4 +1,4 @@ -# Generated by devtools/yamaker from nixpkgs 22.11. +# Generated by devtools/yamaker from nixpkgs 24.05. LIBRARY() |