On 07/30/2015 04:14 PM, Moore, Catherine wrote:
This patch implements a more compact format for exception handling data.
Although I don't have recent numbers for the amount of compression achieved, an
earlier measurement showed a 30% reduction in the size of EH data for libstdc++.
A design document detailing the new format is available
(https://github.com/MentorEmbedded/cxx-abi/blob/master/MIPSCompactEH.pdf).
This implementation enables the new format for MIPS targets only, but the
generic pieces to enable the new format for other architectures is in place.
Hi, sorry for the slow response.
I'm surprised that there was no mention of this design on the ABI list,
especially since you've decided to post the design document to its git
repository.
I'm skeptical about the explicit rejection of asynchronous backtracing;
this is an important capability for debug traces on hosted systems,
which is why the compiler flag is on by default in many linux
distributions. The document mentions using libunwind instead, but that
wouldn't help, as libunwind relies on the same unwind information. So
it seems to me that the objective in 1.2 of supporting both unhosted and
Linux-hosted programs isn't sufficiently met.
Jason