[gcc r13-5171] libstdc++: Deliver names of C functions in <stacktrace>

Jonathan Wakely redi@gcc.gnu.org
Sat Jan 14 22:00:22 GMT 2023


https://gcc.gnu.org/g:b1c839be8353edfb1951454be3c5a8150f771385

commit r13-5171-gb1c839be8353edfb1951454be3c5a8150f771385
Author: Björn Schäpers <bjoern@hazardy.de>
Date:   Tue Dec 13 22:02:47 2022 +0100

    libstdc++: Deliver names of C functions in <stacktrace>
    
    __cxa_demangle is only to demangle C++ names, for all C functions,
    extern "C" functions, and including main it returns -2, in that case
    just adapt the given name. Otherwise it's kept empty, which doesn't look
    nice in the stacktrace.
    
    libstdc++-v3/ChangeLog:
    
            * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
            raw __name if __cxa_demangle could not demangle it.
    
    Signed-off-by: Björn Schäpers <bjoern@hazardy.de>

Diff:
---
 libstdc++-v3/include/std/stacktrace | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libstdc++-v3/include/std/stacktrace b/libstdc++-v3/include/std/stacktrace
index 402be3e828e..346c7b14142 100644
--- a/libstdc++-v3/include/std/stacktrace
+++ b/libstdc++-v3/include/std/stacktrace
@@ -219,6 +219,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 					       &__status);
       if (__status == 0)
 	__s = __str;
+      else
+	__s = __name;
       __builtin_free(__str);
       return __s;
     }


More information about the Libstdc++-cvs mailing list