Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Interpreting PPC backtrace: (3 Items)
   
Interpreting PPC backtrace  
I'm running into an issue with a largeish shared library on PPC where I'm getting a SIGILL when the library tries to 
load.  

I've made a sample program that simply dlopen's the file and the problem occurs during the library initialization it 
seems from the backtrace:

The backtrace is:

Backtrace from load:
#0  0xff213e04 in _SDA_BASE_ ()
   from /home/thomas/mylib.so
#1  0xfe8df944 in frame_dummy ()
   from /home/thomas/mylib.so
#2  0xff06de28 in _init ()
   from /home/thomas/mylib.so
#3  0xfe33c9d4 in init () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
#4  0xfe33e39c in dlopen () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
#5  0x480405ac in main (argc=2, argv=0x4803fc24) at load.c:13

This is all running on 6.3.2 and I was wondering if this triggered anyone's mind about a libc or complilation problem I 
should be looking for since those init routines come from the OS side.

Thanks,
 Thomas
Re: Interpreting PPC backtrace  
Thomas Fletcher wrote:
> I'm running into an issue with a largeish shared library on PPC where I'm getting a SIGILL when the library tries to 
load.  
> 
> I've made a sample program that simply dlopen's the file and the problem occurs during the library initialization it 
seems from the backtrace:
> 
> The backtrace is:
> 
> Backtrace from load:
> #0  0xff213e04 in _SDA_BASE_ ()
>    from /home/thomas/mylib.so
> #1  0xfe8df944 in frame_dummy ()
>    from /home/thomas/mylib.so
> #2  0xff06de28 in _init ()
>    from /home/thomas/mylib.so
> #3  0xfe33c9d4 in init () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
> #4  0xfe33e39c in dlopen () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
> #5  0x480405ac in main (argc=2, argv=0x4803fc24) at load.c:13
> 
> This is all running on 6.3.2 and I was wondering if this triggered anyone's mind about a libc or complilation problem 
I should be looking for since those init routines come from the OS side.

Would you be compiling the the shared oject with the 3.3.5 gcc driver? 
And is this C++ ? With or without exceptions?

Regards,

Ryan Mansfield
Re: Interpreting PPC backtrace  
Ryan Mansfield wrote:
> Thomas Fletcher wrote:
>   
>> I'm running into an issue with a largeish shared library on PPC where I'm getting a SIGILL when the library tries to 
load.  
>>
>> I've made a sample program that simply dlopen's the file and the problem occurs during the library initialization it 
seems from the backtrace:
>>
>> The backtrace is:
>>
>> Backtrace from load:
>> #0  0xff213e04 in _SDA_BASE_ ()
>>    from /home/thomas/mylib.so
>> #1  0xfe8df944 in frame_dummy ()
>>    from /home/thomas/mylib.so
>> #2  0xff06de28 in _init ()
>>    from /home/thomas/mylib.so
>> #3  0xfe33c9d4 in init () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
>> #4  0xfe33e39c in dlopen () from /usr/qnx632/target/qnx6/ppcbe/lib/libc.so.2
>> #5  0x480405ac in main (argc=2, argv=0x4803fc24) at load.c:13
>>
>> This is all running on 6.3.2 and I was wondering if this triggered anyone's mind about a libc or complilation problem
 I should be looking for since those init routines come from the OS side.
>>     
>
> Would you be compiling the the shared oject with the 3.3.5 gcc driver? 
> And is this C++ ? With or without exceptions?
>   
Right on the money.  This is C++, and I'm building with  qcc (qcc 
-V3.3.5,ntoppcbe_cpp) but looking at the
compile line (this is a port that likes GCC argument conventions) I'm 
passing:

qcc -V3.3.5,ntoppcbe_cpp ... -f no-exceptions ... -f PIC

So, how bad is this?

It is going to be a bear to change things to -shared (to replace -f PIC) 
and  to remove -f no-exceptions
(I can switch to ntoppcbe_cpp-ne fairly easily though if the options 
won't collide inside qcc).  I'll run
a build to check this out further.

Thanks,
  Thomas