summaryrefslogtreecommitdiffstats
path: root/lib/csu
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-10-30 05:21:08 +0000
committerobrien <obrien@FreeBSD.org>2000-10-30 05:21:08 +0000
commitffa99e45a6ee9efa8bda20456d7ca855f6c91d9e (patch)
tree6ab054411f256a2e6c9f776c24aa7270e149f811 /lib/csu
parent1ad38d1a24eeeaf90b5f20f9f5d4cb9c18758819 (diff)
downloadFreeBSD-src-ffa99e45a6ee9efa8bda20456d7ca855f6c91d9e.zip
FreeBSD-src-ffa99e45a6ee9efa8bda20456d7ca855f6c91d9e.tar.gz
Alpha verions of the crt initialization and finalization files required
by the ELF ABI.
Diffstat (limited to 'lib/csu')
-rw-r--r--lib/csu/alpha/Makefile4
-rw-r--r--lib/csu/alpha/crti.S51
-rw-r--r--lib/csu/alpha/crtn.S43
3 files changed, 96 insertions, 2 deletions
diff --git a/lib/csu/alpha/Makefile b/lib/csu/alpha/Makefile
index 519446e..1212b44 100644
--- a/lib/csu/alpha/Makefile
+++ b/lib/csu/alpha/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
#
-SRCS= crt1.c
-OBJS= crt1.o
+SRCS= crt1.c crti.S crtn.S
+OBJS= ${SRCS:N*.h:R:S/$/.o/g}
OBJS+= gcrt1.o
CFLAGS+= -Wall -Wno-unused \
-I${.CURDIR}/../common
diff --git a/lib/csu/alpha/crti.S b/lib/csu/alpha/crti.S
new file mode 100644
index 0000000..3f58a0b
--- /dev/null
+++ b/lib/csu/alpha/crti.S
@@ -0,0 +1,51 @@
+/*-
+ * Copyright 2000 David O'Brien, John D. Polstra.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+ .section .init,"ax",@progbits
+ .align 5
+ .globl _init
+_init:
+ ldgp $29,0($27)
+$_init..ng:
+ lda $30,-16($30)
+ stq $26,0($30)
+ stq $15,8($30)
+ mov $30,$15
+ .align 5
+
+ .section .fini,"ax",@progbits
+ .align 5
+ .globl _fini
+_fini:
+ ldgp $29,0($27)
+$_fini..ng:
+ lda $30,-16($30)
+ stq $26,0($30)
+ stq $15,8($30)
+ mov $30,$15
+ .align 5
+
diff --git a/lib/csu/alpha/crtn.S b/lib/csu/alpha/crtn.S
new file mode 100644
index 0000000..63024ff
--- /dev/null
+++ b/lib/csu/alpha/crtn.S
@@ -0,0 +1,43 @@
+/*-
+ * Copyright 2000 David O'Brien, John D. Polstra.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+ .section .init,"ax",@progbits
+ ldgp $29,0($26)
+ mov $15,$30
+ ldq $26,0($30)
+ ldq $15,8($30)
+ lda $30,16($30)
+ ret $31,($26),1
+
+
+ .section .fini,"ax",@progbits
+ ldgp $29,0($26)
+ mov $15,$30
+ ldq $26,0($30)
+ ldq $15,8($30)
+ lda $30,16($30)
+ ret $31,($26),1
OpenPOWER on IntegriCloud