Hello Luke,

Luke A. Guest wrote:
> I'm having a look into getting DWARF2 exceptions (ZCX) working on ARM.

 Thanks :-)

> Any pointers would be gratefully received. I'm fairly sure I know where
> to start. 

 A few general points, jic.

 The first thing will be to adjust your target system.ads to
 have GCC_ZCX_Support := True, then use the gnatlib-zcx Makefile
 target, with essentially two effects: adjust your target system.ads
 further to switch the GCC_ZCX_Support to True as well, and arrange
 to build/link with the "-gcc" variants of a-exexpr.adb and raise.c.

 The system.ads changes control the compiler to declare eh regions, produce
 dwarf eh info etc.

 The use of -gcc variants is for the runtime library, switching to the
 libgcc services for exception propagations.

 raise-gcc.c hosts the Ada personality routine, where a number of changes
 will be needed I believe.

 There, please, I'd rather have the ARM specializations abstracted as
 much as possible, e.g. with new functions and alternate implementations,
 instead of provided as #ifdefs blocks spread within existing functions.

 Thanks,

 Olivier

 

Reply via email to