[PATCH] libstdc++: Add error handler for <stacktrace>
François Dumont
frs.dumont@gmail.com
Wed Nov 30 18:00:11 GMT 2022
On 30/11/22 14:07, Jonathan Wakely wrote:
> On Wed, 30 Nov 2022 at 11:57, Jonathan Wakely <jwakely@redhat.com> wrote:
>>
>>
>> On Wed, 30 Nov 2022 at 11:54, Jonathan Wakely <jwakely@redhat.com> wrote:
>>>
>>>
>>> On Wed, 30 Nov 2022 at 06:04, François Dumont via Libstdc++ <libstdc++@gcc.gnu.org> wrote:
>>>> Good catch, then we also need this patch.
>>>
>>> Is it worth printing an error? If we can't show the backtrace because of an error, we can just print nothing there.
No strong opinion on that but if we do not print anything the output
will be:
Backtrace:
Error: ...
I just considered that it did not cost much to report the issue to the
user that defined _GLIBCXX_DEBUG_BACKTRACE and so is expecting a backtrace.
Maybe printing "Backtrace:\n" could be done in the normal callback
leaving the user with the feeling that _GLIBCXX_DEBUG_BACKTRACE does not
work.
>>>
>>> We also need to pass an error handler to the __glibcxx_backtrace_create_state call in formatter.h.
>>>
>>> Now that I look at this code again, why do we need the _M_backtrace_full member? It's always set to the same thing, why can't we just call that function directly?
>>
>> Oh right, I remember now ... because otherwise the libstdc++.so library needs the definition of __glibcxx_backtrace_full.
> I'm testing the attached patch.
>
>
>>> And I think we should use threaded=1 for the __glibcxx_backtrace_create_state call.
>>>
>>> So like the attached patch.
>>>
>>>
More information about the Libstdc++
mailing list