32 lines
596 B
C
32 lines
596 B
C
|
|
||
|
|
||
|
/* 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);
|
||
|
}
|
||
|
}
|