blob: c27c589a2823a5863687255863183d70b2215a78 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
/* This fragment is invoked in the stack context of program start.
Its job is to set up a pointer to argc as an argument, pass
control to `INIT', and, if necessary, clean up after the call
to leave the stack in the same condition it was found in. */
#define SYSDEP_CALL_INIT(NAME, INIT) \
asm(".globl " #NAME "\n" \
#NAME ":\n\t" \
"ldgp $29, 0($27)\n\t" \
".prologue 1\n\t" \
"mov $30, $16\n\t" \
"br $31, " #INIT "..ng");
|