Re: Issue with Latest GDB on AIX with GCC-6.12

Pedro Alves <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.