summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/alpha/init-first.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-01 22:16:41 +0000
committerRoland McGrath <roland@gnu.org>1996-07-01 22:16:41 +0000
commit3776d592f117c8c5b0d2c37d265cb8ee2ac21695 (patch)
tree9cae15e988bc6b4eb1e2737db59bceaab58e0be7 /sysdeps/unix/sysv/linux/alpha/init-first.h
parent7cbc698400bfe2a64f12b0cb703fda0fdecb5a59 (diff)
Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (databases): Change host to hosts. * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/init-first.h')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/init-first.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/init-first.h b/sysdeps/unix/sysv/linux/alpha/init-first.h
new file mode 100644
index 0000000000..c27c589a28
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/init-first.h
@@ -0,0 +1,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");