GCC 3.3 Prelease broken on s390
Ulrich Weigand
weigand@immd1.informatik.uni-erlangen.de
Tue May 6 21:47:00 GMT 2003
Mark,
unfortunately, the prelease is seriously broken on s390;
exception handling does not work at all. See
http://gcc.gnu.org/ml/gcc-testresults/2003-05/msg00365.html
Every single exception-related testcase (C++ or Java) fails.
This appears to be caused by rth's recent checkin:
http://gcc.gnu.org/ml/gcc-patches/2003-05/msg00402.html
reverting the unwind-dw2.c change introduced by this patch
appears to fix the problem.
Richard, I don't quite see how this change is supposed to work:
+ tmp_sp = (_Unwind_Ptr) context->cfa;
+ _Unwind_SetGRPtr (&orig_context, __builtin_dwarf_sp_column (), &tmp_sp);
On s390, the CFA does not have the same value as the saved stack pointer,
it is biased by 96/160 bytes relative to the stack. While I haven't
debugged the failure in detail yet, I'd assume this will screw up
stack unwinding on s390, as the next CFA will be computed incorrectly
relative to this wrong SP value ...
Do you have any suggestions how to fix this?
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de
More information about the Gcc
mailing list