diff options
| author | ross <ross@NetBSD.org> | 1998-05-06 00:59:18 +0000 |
|---|---|---|
| committer | ross <ross@NetBSD.org> | 1998-05-06 00:59:18 +0000 |
| commit | bb44cd0d2852e81442a16d85bb45a2fbcef4bd8f (patch) | |
| tree | 9bc0c1e79fa21c24d3ca5ad70cb2026d397e4d19 /lib/csu/alpha | |
| parent | 1569541db463892e601ecf8d0b3872ab020397d2 (diff) | |
Put the vanilla versions of these into CVS so that Those Who Come Later
can see the hand assembly mods in a cvs diff rather than having to start over
from the prototype .c files. (Although these will also be available.)
Diffstat (limited to 'lib/csu/alpha')
| -rw-r--r-- | lib/csu/alpha/crtbegin.S | 168 | ||||
| -rw-r--r-- | lib/csu/alpha/crtend.S | 26 |
2 files changed, 194 insertions, 0 deletions
diff --git a/lib/csu/alpha/crtbegin.S b/lib/csu/alpha/crtbegin.S new file mode 100644 index 00000000000..2dc1bc7064a --- /dev/null +++ b/lib/csu/alpha/crtbegin.S @@ -0,0 +1,168 @@ +# $NetBSD: crtbegin.S,v 1.1 1998/05/06 00:59:18 ross Exp $ +# +# Warning -- +# +# See comments in crtbegin.c prior to attempting work on this module. +# +# This module has been modified by hand. +# + .file 1 "crtbegin.c" + .version "01.01" + .set noat +gcc2_compiled.: +__gnu_compiled_c: + + .section ".note.netbsd.ident", "a" + .p2align 2 + + # NetBSD note: OS version + .long 7 # name size + .long 4 # desc size + .long 1 # type + .ascii "NetBSD\0\0" # name (padded to % 4 == 0) + .long 199804 # desc (padded to % 4 == 0) + + # NetBSD note: emulation name + .long 7 # name size + .long 7 # desc size + .long 2 # type + .ascii "NetBSD\0\0" # name (padded to % 4 == 0) + .ascii "netbsd\0\0" # desc (padded to % 4 == 0) + +.section .ctors,"aw",@progbits + .align 3 + .type __CTOR_LIST__,@object + .size __CTOR_LIST__,8 +__CTOR_LIST__: + .quad -1 +.section .dtors,"aw",@progbits + .align 3 + .type __DTOR_LIST__,@object + .size __DTOR_LIST__,8 +__DTOR_LIST__: + .quad -1 +.text + .align 3 + .ent __dtors +__dtors: + ldgp $29,0($27) +__dtors..ng: + lda $30,-32($30) + .frame $30,32,$26,0 + stq $26,0($30) + stq $9,8($30) + stq $10,16($30) + .mask 0x4000600,-32 + .prologue 1 + lda $2,__DTOR_LIST__ + ldq $9,0($2) + addq $9,1,$1 + bne $1,$34 + bis $31,1,$9 + ldq $1,8($2) + beq $1,$36 + .align 5 +$37: + addq $9,1,$9 + s8addq $9,$2,$1 + ldq $1,0($1) + bne $1,$37 +$36: + subq $9,1,$9 +$34: + lda $1,__DTOR_LIST__ + s8addq $9,$1,$10 + br $31,$44 + .align 4 + .align 5 +$42: + ldq $27,0($10) + subq $10,8,$10 + jsr $26,($27),0 + ldgp $29,0($26) +$44: + subq $9,1,$9 + addq $9,1,$1 + bne $1,$42 + ldq $26,0($30) + ldq $9,8($30) + ldq $10,16($30) + addq $30,32,$30 + ret $31,($26),1 + .end __dtors + .align 3 + .ent __ctors +__ctors: + ldgp $29,0($27) +__ctors..ng: + lda $30,-16($30) + .frame $30,16,$26,0 + stq $26,0($30) + stq $9,8($30) + .mask 0x4000200,-16 + .prologue 1 + lda $1,__CTOR_LIST__ + addq $1,8,$9 + ldq $1,8($1) + beq $1,$47 + .align 5 +$48: + ldq $27,0($9) + addq $9,8,$9 + jsr $26,($27),0 + ldgp $29,0($26) + ldq $1,0($9) + bne $1,$48 +$47: + ldq $26,0($30) + ldq $9,8($30) + addq $30,16,$30 + ret $31,($26),1 + .end __ctors +.data + .align 2 + .type initialized.6,@object + .size initialized.6,4 +initialized.6: + .long 0 +.section .init,"ax",@progbits + .align 3 + .globl _init + .ent _init +_init: + ldgp $29,0($27) +_init..ng: + lda $30,-16($30) + .frame $30,16,$26,0 + stq $26,0($30) + .mask 0x4000000,-16 + .prologue 1 + lda $2,initialized.6 + ldl $1,0($2) + bne $1,$51 + bis $31,1,$1 + stl $1,0($2) + bsr $26,__ctors..ng +$51: + ldq $26,0($30) + addq $30,16,$30 + ret $31,($26),1 + .end _init +.section .fini,"ax",@progbits + .align 3 + .globl _fini + .ent _fini +_fini: + ldgp $29,0($27) +_fini..ng: + lda $30,-16($30) + .frame $30,16,$26,0 + stq $26,0($30) + .mask 0x4000000,-16 + .prologue 1 + bsr $26,__dtors..ng + ldq $26,0($30) + addq $30,16,$30 + ret $31,($26),1 + .end _fini + .ident "GCC: (GNU) 2.7.2.2" diff --git a/lib/csu/alpha/crtend.S b/lib/csu/alpha/crtend.S new file mode 100644 index 00000000000..7b3e8a1300b --- /dev/null +++ b/lib/csu/alpha/crtend.S @@ -0,0 +1,26 @@ +# $NetBSD: crtend.S,v 1.1 1998/05/06 00:59:18 ross Exp $ +# +# Warning -- +# +# See comments in crtbegin.c prior to attempting work on this module. +# +# This module has been modified by hand. +# + .file 1 "crtend.c" + .version "01.01" + .set noat +gcc2_compiled.: +__gnu_compiled_c: +.section .ctors,"aw",@progbits + .align 3 + .type __CTOR_LIST__,@object + .size __CTOR_LIST__,8 +__CTOR_LIST__: + .quad 0 +.section .dtors,"aw",@progbits + .align 3 + .type __DTOR_LIST__,@object + .size __DTOR_LIST__,8 +__DTOR_LIST__: + .quad 0 + .ident "GCC: (GNU) 2.7.2.2" |
