Re: Issue with Latest GDB on AIX with GCC-6.12
Nitish Kumar Mishra <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CACC+hkj42Sz3pcOV7yRMZTboiCd8YFOwGug6NEgeEtWyyOC4gg@mail.gmail.com> |
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 <[email protected]> wrote: > On Thu, Feb 9, 2017 at 7:15 AM, Nitish Kumar Mishra > <[email protected]> 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