backtrace() vs. _Unwind_Backtrace()

Bryce McKinlay bryce@mckinlay.net.nz
Wed Dec 10 09:12:00 GMT 2003


On Dec 9, 2003, at 10:45 PM, Andrew Haley wrote:

>> Admittedly this problem only really applies to security checks and
>> not diagnostic stack traces, but I think its better to pursue a
>> solution that works for everything.
>
> Your approach for DWARF 2 targets looks sound to me.
>
> There's an issue with CNI, though: at present the class only sees the
> address of the PLT entry of a native method, not the address of the
> method itself.

For me this problem only occurs if the CNI method in question in in a 
shared library and was directly referenced from the application binary 
(not just the shared library). There was a thread about this issue just 
recently on the GCC list:

http://gcc.gnu.org/ml/gcc/2003-12/msg00383.html

Also see:

http://gcc.gnu.org/ml/java/2003-11/msg00017.html

Apparantly Jakub has fixed it, though only for i386 at present, in the 
latest CVS linker. The problem will also go away with the BC-ABI, since 
we won't reference the methods directly from out binaries.

Regards

Bryce.




More information about the Java mailing list