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.

Reply via email to