glibc/sysdeps/unix/sysv/linux/alpha/init-first.h
Roland McGrath 6f0a2dad9f Fri Jun 28 16:53:01 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/init-first.h,
 	sysdeps/unix/sysv/linux/m68k/init-first.h,
 	sysdeps/unix/sysv/linux/i386/init-first.h: New files.
	* sysdeps/unix/sysv/linux/init-first.c: Use platform-dependent
 	init-first.h to make abstract machine dependent parts of
	initialization.
1996-07-01 22:16:20 +00:00

13 lines
450 B
C

/* 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");