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.