[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