mirror of https://git.musl-libc.org/git/musl
7 changed files with 54 additions and 55 deletions
@ -1,8 +1,8 @@ |
|||
.text |
|||
.global dlsym |
|||
.type dlsym,@function |
|||
.text |
|||
.global dlsym |
|||
.type dlsym,@function |
|||
dlsym: |
|||
mflr 5 # The return address is arg3. |
|||
b __dlsym |
|||
.end dlsym |
|||
.size dlsym, .-dlsym |
|||
mflr 5 # The return address is arg3. |
|||
b __dlsym |
|||
.end dlsym |
|||
.size dlsym, .-dlsym |
|||
|
|||
@ -1,23 +1,22 @@ |
|||
# FIXME : does not work, the small data array needs to be relocated. |
|||
# see elfspec_ppc.pdf, page 76-84 |
|||
.global _start |
|||
.type _start,@function |
|||
.global _start |
|||
.type _start,@function |
|||
_start: |
|||
mr 9, 1 # Save the original stack pointer. |
|||
clrrwi 1, 1, 4 # Align the stack to 16 bytes. |
|||
lis 13, _SDA_BASE_@ha # r13 points to the small data area. |
|||
addi 13, 13, _SDA_BASE_@l |
|||
li 0, 0 # Zero the frame pointer. |
|||
lwz 3, 0(9) # and argc... |
|||
addi 4, 9, 4 # and argv ... |
|||
mtlr 0 # Clear the link register. |
|||
# Go to the musl dynamic linker entry point. |
|||
bl __dynlink |
|||
cmpi 4, 0, 3, 1 # Check for a 1. |
|||
bne 4, . # Stay here |
|||
mtlr 3 # Set the link address... |
|||
li 3, 0 |
|||
blr # and go. |
|||
.end _start |
|||
.size _start, .-_start |
|||
|
|||
mr 9, 1 # Save the original stack pointer. |
|||
clrrwi 1, 1, 4 # Align the stack to 16 bytes. |
|||
lis 13, _SDA_BASE_@ha # r13 points to the small data area. |
|||
addi 13, 13, _SDA_BASE_@l |
|||
li 0, 0 # Zero the frame pointer. |
|||
lwz 3, 0(9) # and argc... |
|||
addi 4, 9, 4 # and argv ... |
|||
mtlr 0 # Clear the link register. |
|||
# Go to the musl dynamic linker entry point. |
|||
bl __dynlink |
|||
cmpi 4, 0, 3, 1 # Check for a 1. |
|||
bne 4, . # Stay here |
|||
mtlr 3 # Set the link address... |
|||
li 3, 0 |
|||
blr # and go. |
|||
.end _start |
|||
.size _start, .-_start |
|||
|
|||
@ -1,11 +1,11 @@ |
|||
.global __restore |
|||
.type __restore,%function |
|||
.global __restore |
|||
.type __restore,%function |
|||
__restore: |
|||
li 0, 119 #__NR_sigreturn |
|||
sc |
|||
li 0, 119 #__NR_sigreturn |
|||
sc |
|||
|
|||
.global __restore_rt |
|||
.type __restore_rt,%function |
|||
.global __restore_rt |
|||
.type __restore_rt,%function |
|||
__restore_rt: |
|||
li 0, 172 # __NR_rt_sigreturn |
|||
sc |
|||
li 0, 172 # __NR_rt_sigreturn |
|||
sc |
|||
|
|||
@ -1,9 +1,9 @@ |
|||
.text |
|||
.global __unmapself |
|||
.type __unmapself,%function |
|||
.text |
|||
.global __unmapself |
|||
.type __unmapself,%function |
|||
__unmapself: |
|||
li 0, 91 # __NR_munmap |
|||
sc |
|||
li 0, 1 #__NR_exit |
|||
sc |
|||
blr |
|||
li 0, 91 # __NR_munmap |
|||
sc |
|||
li 0, 1 #__NR_exit |
|||
sc |
|||
blr |
|||
|
|||
Loading…
Reference in new issue