[RFC] Arm frame unwinding directives.
Richard Earnshaw
rearnsha@gcc.gnu.org
Wed Jun 23 15:10:00 GMT 2004
On Tue, 2004-06-22 at 17:03, Paul Brook wrote:
> I'm currently working on implementing EABI compliant exception handling/frame
> unwinding for arm targets. This involves generating frame unwind tables.
>
> My current thinking is that the best way to generate these is via assembly
> directives embedded in the function code. This has some advantages over
> generating raw data tables in the compiler:
> - It allows easy annotation of hand-written assembly code.
> - It simplifies the compiler.
> - Maybe allows the assembler to pick an appropriate personality routine/format
> based on the function size.
> A similar technique is used by ia64 targets.
A couple of questions:
1) Can you describe a thumb prologue sequence with the examples (need to
consider both saving/restoring HI regs and use of a 'frame' pointer).
2) How would you describe a function where the entry point wasn't at the
beginning of a region, or where the exit sequence wasn't at the end
(consider the hot-and-cold regions support now in gcc).
Being able to support 1) is essential for any viable solution -- I'm
less concerned about 2) but it would certainly be useful in some
circumstances.
R.
More information about the Binutils
mailing list