Issue with Latest GDB on AIX with GCC-6.12

Nitish Kumar Mishra mishra.nitish.88@gmail.com
Fri Feb 10 07:22:00 GMT 2017


Hi All,

> 3. GDB with GCC-6.1, 64 bit mode, with static options : NOT WORKING
> 4. GDB with GCC-6.1, 64 bit mode, without static options : COMPILATION ERROR.
>
> P.S.: Static options means: -static-libstdc++ -static-libgcc

>What is the compilation error?
With GCC-6.1, 64 bit mode, WITHOUT static option, below is the output of the
compilation error:

ld: 0711-317 ERROR: Undefined symbol: ._Unwind_Resume
ld: 0711-317 ERROR: Undefined symbol: .__cxa_atexit
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status


> Does GCC 4.8.5 and GCC 6.1 fail in the same manner?  Neither catch the
exception?
Yes, by NOT WORKING, I meant, niether catching the exception and process is
getting terminated.

Thanks,
Nitish

On Thu, Feb 9, 2017 at 9:20 PM, David Edelsohn <dje.gcc@gmail.com> wrote:
> On Thu, Feb 9, 2017 at 7:15 AM, Nitish Kumar Mishra
> <mishra.nitish.88@gmail.com> wrote:
>> Hi all,
>> While sending the previous mail the statements got broken.
>> I am not sure if it is understandable. So, trying again :)
>>
>> 1. GDB with GCC-4.8.5, 32 bit mode, with or without static
>>     options : NOT WORKING.
>> 2. GDB with GCC-4.8.5, 64 bit mode, with or without static
>>     options : WORKING FINE
>
> Okay.  This is why I was confused about GCC 4.8.5.  I don't have any
> immediate intuition why 64 bit mode would have an effect on GCC.  To
> me this implies a subtle AIX linker issue.  I have experienced AIX ld
> behaving differently in 32 bit mode and 64 bit mode.
>
>> 3. GDB with GCC-6.1, 64 bit mode, with static options : NOT WORKING
>> 4. GDB with GCC-6.1, 64 bit mode, without static options : COMPILATION ERROR.
>>
>> P.S.: Static options means: -static-libstdc++ -static-libgcc
>
> What is the compilation error?
>
> Does GCC 4.8.5 and GCC 6.1 fail in the same manner?  Neither catch the
> exception?
>
> GCC EH on AIX was improved (for GCC 6) to place EH tables in the
> read-only section so that they could be shared and not bloat the data
> section. This also changed the data encoding. But this change should
> not have affected the algorithm to find an exception handler.
>
> If it fails for both GCC 4.8 and GCC 6.1, that implies the problem is
> not a recent GCC change.
>
> It's possible that there is something wrong with the GCC code and it
> accidentally works sometime, or it's possible that there is some bad
> interaction between GCC and the AIX linker (like relocations or
> ordering of symbols).
>
> Because of the limited GDB functionality on AIX, debugging is
> difficult. We need some more information about exactly why the EH
> walker is failing to find the relevant EH frame.  What is wrong with
> the table in the executable or in memory?
>
> Thanks, David



More information about the Gdb mailing list