user: implement mlibc as the libc, finally.
It's finally done.. Signed-off-by: kaguya <vpshinomiya@protonmail.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
.section .text
|
||||
|
||||
.type __stack_chk_fail_local, %function
|
||||
.weak __stack_chk_fail_local
|
||||
__stack_chk_fail_local:
|
||||
call __stack_chk_fail@plt
|
||||
|
||||
.global _start
|
||||
|
||||
.type _start, %function
|
||||
.type main, %function
|
||||
.type __mlibc_entry, %function
|
||||
|
||||
.cfi_startproc
|
||||
_start:
|
||||
.cfi_undefined eip
|
||||
xor %ebp, %ebp
|
||||
mov %esp, %edi
|
||||
call 1f
|
||||
|
||||
1:
|
||||
pop %ebx
|
||||
addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
|
||||
push main@GOT(%ebx)
|
||||
push %edi
|
||||
call __mlibc_entry@plt
|
||||
.cfi_endproc
|
||||
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@@ -0,0 +1,18 @@
|
||||
.section .text
|
||||
.global _start
|
||||
|
||||
.type _start, %function
|
||||
.type main, %function
|
||||
.type __mlibc_entry, %function
|
||||
|
||||
.cfi_startproc
|
||||
_start:
|
||||
.cfi_undefined eip
|
||||
xor %ebp, %ebp
|
||||
mov %esp, %ecx
|
||||
push $main
|
||||
push %ecx
|
||||
call __mlibc_entry
|
||||
.cfi_endproc
|
||||
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@@ -0,0 +1,11 @@
|
||||
.section .init
|
||||
.global _init
|
||||
_init:
|
||||
pushl %eax
|
||||
|
||||
.section .fini
|
||||
.global _fini
|
||||
_fini:
|
||||
pushl %eax
|
||||
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
@@ -0,0 +1,9 @@
|
||||
.section .init
|
||||
popl %eax
|
||||
ret
|
||||
|
||||
.section .fini
|
||||
popl %eax
|
||||
ret
|
||||
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
Reference in New Issue
Block a user