Exception Handling description
Michael Matz
matz@suse.de
Mon May 18 01:47:00 GMT 2009
Hi,
On Sun, 17 May 2009, Michael Eager wrote:
> > But the _format_ of the LSDA is not specified. It's really an
> > implementation detail of the compiler/language and doesn't have to be
> > agreed upon for mixing .o files from different compilers, as every
> > compilation unit can have it's own personality routine.
>
> This is what needs to be documented and specified for the PPC ABI.
Hmm, strange request. So the ABI talks only about C++? And if g++ should
ever emit some different LSDA info (and appropriately using a new
personality routine), which is completely transparent and okay, it
wouldn't be ABI compatible anymore? Are the requesters of your task aware
of that?
> > http://www.codesourcery.com/public/cxx-abi/exceptions.pdf seems to
>
> Great. This looks like exactly what I was looking for.
>
> Do you happen to know the copyright status on the HP document?
Nope. It obviously is from the aC++ manual, so copyrighted, OTOH it's on
CodeSourcerys site, so maybe there's some nice arrangement. And it may or
may not be ia64 specific, OTOH much from C++ ABI was derived from the ia64
ABI, so that might not be a problem. I don't even know who can tell us :)
But in any case: if you write up anything about the exception handling
gory details, it would be extremely nice to have it in a form for the
internal manual (or at least for the Wiki) ;)
Btw. the LSDA data structures itself (at the low level, i.e. asm
directives) are built in except.c (output_function_exception_table and
subfunctions), so that's the definitive reference. Compile flags
"-fverbose-asm -dA" will also be revealing because of the useful comments
besides the LSDA blob definitions.
Ciao,
Michael.
More information about the Gcc
mailing list