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 01:52 PM, Pedro Alves wrote:
> On 01/25/2017 11:12 AM, Pedro Alves wrote:
>> 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.
> 
> I could reproduce this on gcc119 on the compile farm (AIX 7.2),
> which has GCC 6.1.  I tried the workaround suggested above, but
> that didn't work.
> 
> TBC, it's perfectly valid for a noexpect function to
> try/catch inside as long as no exception escapes out, but,
> compiler bugs are not unheard-of.
> 
> I also tried replacing the TRY/CATCH macros with try/catch(...)
> thinking that it could be something with broken type info,
> and the runtime somehow not figuring out that that catch
> should really catch the exception.  Same thing, doesn't work
> for me.
> 
> So I'm out of ideas.  It looks like a toolchain/runtime bug
> to me.

Sounds like a manifestation of:

 Bug 60939 - AIX: exceptions not caught when calling function via pointer 
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60939

since ui->input_handler is a function pointer here:

static void
gdb_rl_callback_handler (char *rl) noexcept
{
  struct gdb_exception gdb_rl_expt = exception_none;
  struct ui *ui = current_ui;

  TRY
    {
      ui->input_handler (rl);
    }
  CATCH (ex, RETURN_MASK_ALL)
    {
      gdb_rl_expt = ex;
    }
  END_CATCH

> 
> TBC, I'm not going to be looking at this further.  It's
> very uncomfortable for me to use that machine --- I get a
> bit too high latency, and emacs doesn't work.  I even tried
> to survive with vi, but then DEL/BS didn't work for me.  :-P

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.