This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Issue with Latest GDB on AIX with GCC-6.12
- From: Pedro Alves <palves at redhat dot com>
- To: Nitish Kumar Mishra <mishra dot nitish dot 88 at gmail dot com>, gdb at sourceware dot org
- Date: Wed, 25 Jan 2017 11:12:11 +0000
- Subject: Re: Issue with Latest GDB on AIX with GCC-6.12
- Authentication-results: sourceware.org; auth=none
- References: <CACC+hkhirWKL9adjaXZnS2tasC+zTASj9VHF4B9gX_XVm--UJg@mail.gmail.com>
On 01/25/2017 10:54 AM, Nitish Kumar Mishra wrote:
> Hi,
>
> The latest community gdb is not working with gcc 6.12, however, it
> works expectedly fine with GCC-4.8.5 on AIX platform.
What is gcc 6.12 ?
> #12 0x000000010007d994 in _ZL23gdb_rl_callback_handlerPc
> (rl=0x1100e92b0 "") at event-top.c:213
I only saw C++ frames up to here, and the exception should
be caught here. I don't immediately see why that wouldn't
be working, though maybe it's the "noexcept"? If you remove
that, does it fix it? Maybe we need a level of indirection
here too, like in gdb_rl_callback_read_char_wrapper_noexcept
/ gdb_rl_callback_read_char_wrapper.
> We are trying some sample programs using readline library to propagate
> exceptions through callback handler just to check if we face any issue
> there. We are still working on it, can't say anything for sure.
Right, it's known that C++ exceptions can't cross readline (unless
built with -fexceptions) See log of commits:
89525768cd08 ("Propagate GDB/C++ exceptions across readline using sj/lj-based TRY/CATCH)
2693a26216c3 ("Fix longjmp across readline w/ --enable-sjlj-exceptions toolchains")
But it looks like the mechanism to work around that isn't working for you.
> It seems like this is a issue regarding exception propagation as
> eventually std::terminate() is getting called. Which also suggests
> that some how exceptions thrown is not getting handled properly.
Yes.
Thanks,
Pedro Alves