diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2001-01-04 10:05:42 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2001-01-04 10:05:42 +0000 |
commit | de7c457799d83f8c822fee87e05d7b5625876d1a (patch) | |
tree | bbd37f9ac6425db385a80d620f6bc1b6eb4fea51 /lib/csu | |
parent | a6115eb2f809b7a114eea1aa5c3c881fe1852893 (diff) | |
download | src-de7c457799d83f8c822fee87e05d7b5625876d1a.tar.gz src-de7c457799d83f8c822fee87e05d7b5625876d1a.zip |
PowerPC verions of the crt initialization and finalization files required
by the ELF ABI.
Notes
Notes:
svn path=/head/; revision=70656
Diffstat (limited to 'lib/csu')
-rw-r--r-- | lib/csu/powerpc/crti.S | 48 | ||||
-rw-r--r-- | lib/csu/powerpc/crtn.S | 43 |
2 files changed, 91 insertions, 0 deletions
diff --git a/lib/csu/powerpc/crti.S b/lib/csu/powerpc/crti.S new file mode 100644 index 000000000000..ce0277710b7c --- /dev/null +++ b/lib/csu/powerpc/crti.S @@ -0,0 +1,48 @@ +/*- + * Copyright 2001 David E. O'Brien + * 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 2 + .globl _init + .type _init,@function +_init: + stwu 1,-16(1) + mflr 0 + stw 31,12(1) + stw 0,20(1) + mr 31,1 + + + .section .fini,"ax",@progbits + .align 2 + .globl _fini +_fini: + stwu 1,-16(1) + mflr 0 + stw 31,12(1) + stw 0,20(1) + mr 31,1 diff --git a/lib/csu/powerpc/crtn.S b/lib/csu/powerpc/crtn.S new file mode 100644 index 000000000000..72309aa7ca8d --- /dev/null +++ b/lib/csu/powerpc/crtn.S @@ -0,0 +1,43 @@ +/*- + * Copyright 2001 David E. O'Brien + * 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 + lwz 11,0(1) + lwz 0,4(11) + mtlr 0 + lwz 31,-4(11) + mr 1,11 + blr + + + .section .fini,"ax",@progbits + lwz 11,0(1) + lwz 0,4(11) + mtlr 0 + lwz 31,-4(11) + mr 1,11 + blr |