| |
| |
| /* This object reserves enough space for an EH frame initialization |
| object. */ |
| |
| struct object { |
| void *reserve[7]; |
| }; |
| |
| |
| void _main () |
| { |
| static int initialized; |
| static struct object object; |
| if (! initialized) |
| { |
| typedef void (*pfunc) (); |
| extern pfunc __ctors[]; |
| extern pfunc __ctors_end[]; |
| extern unsigned char __eh_frame_begin[]; |
| extern void __register_frame_info (void *, struct object *); |
| |
| pfunc *p; |
| |
| initialized = 1; |
| for (p = __ctors_end; p > __ctors; ) |
| (*--p) (); |
| |
| __register_frame_info (__eh_frame_begin, &object); |
| } |
| } |