backtrace() vs. _Unwind_Backtrace()

Andrew Haley aph@redhat.com
Fri Dec 5 13:15:00 GMT 2003


Mohan Embar writes:
 > Hi Bryce,
 > 
 > >DWARF EH was previously enabled for Win32, but problems occurred where 
 > >exceptions need to be thrown through OS callback frames (that don't 
 > >have unwind info), which is a common requirement for Win32 code, so it 
 > >uses SJLJ exceptions for now. So, it would need a way to unwind through 
 > >info-less OS frames so that the DWARF unwinder can resume unwinding on 
 > >the other side (ie a generalized MD_FALLBACK_FRAME_STATE_FOR).
 > 
 > I know little-to-nothing about this, but did this have to do with the structured
 > exception handler in win32.cc? If so, it looks like the two things we're trying
 > to deal with there are access violations and divides by zero. Because of the
 > issue you mentioned, -fcheck-references and -fuse-divide-subroutine were
 > later added:
 > 
 > http://gcc.gnu.org/ml/java-patches/2003-q2/msg00269.html
 > 
 > ...so is my analysis correct that because of these additions, we can now
 > revert to DWARF EH on Win32? Ranjit?
Well, it's true that in general you no longer have to unwind through
exception handler frames. However, there's still a problem with
exceptions thrown in CNI code. I am proposing, probably post 3.4
split, to change CNI so that null pointer checks are enabled even in
CNI code.
So, DWARF EH sounds like a batter plan. Unless there's some other
reason I don't know about...
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /