what's the proper way to configure/enable/disable C exception handling?
James E Wilson
wilson@specifixinc.com
Thu Mar 10 22:09:00 GMT 2005
Paul Schlie wrote:
> - might forcing sjlj exceptions help? With what consequences?
Perhaps, try it and see. Less efficient C++ EH support. We also have C
extensions for EH support, but they are not widely used.
> - or might it be best for me to attempt to refine the baseline exception
> data structure definitions to be more target type size support aware?
The data structures are defined by the Itanium Unwind ABI, which has
subsequently been included in the C++ ABI standard. The Itanium Unwind
ABI requires 64-bit values, and hence the C++ ABI by extension also
requires 64-bit values here. Since changing the sizes violates the C++
ABI, it isn't something we can do by default.
It could perhaps be done for specific targets which don't have 64-bit
integral types, but there would have to be a good justification for it,
and the patches would have to be minimally invasive. It isn't clear if
it is worth the trouble. We have had type problems with this code
before, and people are going to be unwilling to mess with it.
You haven't stated precisely what the problem is here, i.e. what exact
error you get, so it isn't clear what else to recommend. Maybe you can
solve the problem by dropping support for C++ and not building parts of
the C++ EH infrastructure.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
More information about the Gcc
mailing list