Project Home
Project Home
Source Code
Source Code
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - 4.8.1 and exception: (9 Items)
   
4.8.1 and exception  
When building a simple program with the -Y_gpp option, exception aren't caught ???
Re: 4.8.1 and exception  
> When building a simple program with the -Y_gpp option, exception aren't caught
>  ???

I`m assuming Ryan is on holiday ;-) ?


Re: 4.8.1 and exception  
On 13-07-18 09:16 PM, Mario Charest wrote:
>> When building a simple program with the -Y_gpp option, exception aren't caught
>>   ???
>
> I`m assuming Ryan is on holiday ;-) ?


I'm sure he will get back to you soon :-)

Re: 4.8.1 and exception  
> When building a simple program with the -Y_gpp option, exception aren't caught

Ping.

Re: 4.8.1 and exception  
Re-ping
Re: 4.8.1 and exception  
Is there news on this issue? Stepping through the assembler I see that after a lot of looking for something to catch the
 exception, the code invariably terminates. Sample backtrace below:

        Thread [1] (Suspended: Signal 'SIGABRT' received. Description: Aborted.)   
            8 SignalKill()  0xb033e2c1   
            7 raise()  0xb032cf4e   
            6 abort()  0xb032b248   
            5 __gnu_cxx::__verbose_terminate_handler() ../../../../../libstdc++-v3/libsupc++/vterminate.cc:95 0xb8252265
   
            4 __cxxabiv1::__terminate() ../../../../../libstdc++-v3/libsupc++/eh_terminate.cc:38 0xb824fa15   
            3 std::terminate() ../../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 0xb824fa6f   
            2 __cxxabiv1::__cxa_throw() ../../../../../libstdc++-v3/libsupc++/eh_throw.cc:84 0xb824fcde

Are there missing pieces to this puzzle? compile flags, libs, or is this a known bug?

regards
George Refseth
Re: 4.8.1 and exception  
On 14-02-05 03:50 AM, George Refseth wrote:
> Is there news on this issue? Stepping through the assembler I see that after a lot of looking for something to catch 
the exception, the code invariably terminates. Sample backtrace below:
>
>          Thread [1] (Suspended: Signal 'SIGABRT' received. Description: Aborted.)
>              8 SignalKill()  0xb033e2c1
>              7 raise()  0xb032cf4e
>              6 abort()  0xb032b248
>              5 __gnu_cxx::__verbose_terminate_handler() ../../../../../libstdc++-v3/libsupc++/vterminate.cc:95 
0xb8252265
>              4 __cxxabiv1::__terminate() ../../../../../libstdc++-v3/libsupc++/eh_terminate.cc:38 0xb824fa15
>              3 std::terminate() ../../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 0xb824fa6f
>              2 __cxxabiv1::__cxa_throw() ../../../../../libstdc++-v3/libsupc++/eh_throw.cc:84 0xb824fcde
>
> Are there missing pieces to this puzzle? compile flags, libs, or is this a known bug?

Yes, it's a known issue. The unwinder needs to be able to find the 
unwind information which means that all binaries  (exec and shared 
libraries) need to use the same registration functions. With gcc 4.8, 
the register function is now hidden so each binary gets it's own copy, 
and the unwinder can't find it.  Emitting PT_GNU_EH_FRAME segments 
should address this issue, but the unwind gear relies on 
dl_iterate_phdr. However, dl_iterate_phdr isn't in 6.5.0. I've been 
meaning to work on a solution for 6.5.0.

Regards,

Ryan Mansfield
Re: 4.8.1 and exception  
Hi Ryan,

Thanks for taking the time to post the details, I really appreciate the insight in to the source of the issue.  Should 
we infer that even if there's no easy solution for 6.5.0, it will likely be working in the next QNX release?

-Will
Re: 4.8.1 and exception  
On 14-02-10 12:28 PM, Will Miles wrote:
> Hi Ryan,
>
> Thanks for taking the time to post the details, I really appreciate the insight in to the source of the issue.  Should
 we infer that even if there's no easy solution for 6.5.0, it will likely be working in the next QNX release?

Yes, should be working in the next release. I've been meaning to look at 
addressing the issue on 6.5.0, but haven’t had the time.

Regards,

Ryan Mansfield