diff options
author | obrien <obrien@FreeBSD.org> | 2001-01-04 10:05:42 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2001-01-04 10:05:42 +0000 |
commit | 46c56dd07a2f2cf472663bd18a381c2b5ae759d3 (patch) | |
tree | 2ec5e788be85c94becc0004188f87d9f462c0ac0 /lib/csu/powerpc | |
parent | a2912f74e121ae7c6aa166a79775abed68904311 (diff) | |
download | FreeBSD-src-46c56dd07a2f2cf472663bd18a381c2b5ae759d3.zip FreeBSD-src-46c56dd07a2f2cf472663bd18a381c2b5ae759d3.tar.gz |
PowerPC verions of the crt initialization and finalization files required
by the ELF ABI.
Diffstat (limited to 'lib/csu/powerpc')
-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 0000000..ce02777 --- /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 0000000..72309aa --- /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 |