.global __syscall
+.type __syscall,@function
__syscall:
pushl %ebx
pushl %esi
.global __syscall
+.type __syscall,@function
__syscall:
movq %rdi,%rax
movq %rsi,%rdi
.global _longjmp
.global longjmp
+.type _longjmp,@function
+.type longjmp,@function
_longjmp:
longjmp:
mov 4(%esp),%edx
.global __setjmp
.global _setjmp
.global setjmp
+.type __setjmp,@function
+.type _setjmp,@function
+.type setjmp,@function
__setjmp:
_setjmp:
setjmp:
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.global _longjmp
.global longjmp
+.type _longjmp,@function
+.type longjmp,@function
_longjmp:
longjmp:
mov %rsi,%rax /* val will be longjmp return */
.global __setjmp
.global _setjmp
.global setjmp
+.type __setjmp,@function
+.type _setjmp,@function
+.type setjmp,@function
__setjmp:
_setjmp:
setjmp:
.global __restore
+.type __restore,@function
__restore:
popl %eax
movl $119, %eax
int $0x80
.global __restore_rt
+.type __restore_rt,@function
__restore_rt:
movl $173, %eax
int $0x80
.global sigsetjmp
+.type sigsetjmp,@function
sigsetjmp:
mov 4(%esp),%eax
mov 8(%esp),%ecx
.global __restore_rt
.global __restore
+.type __restore_rt,@function
+.type __restore,@function
__restore_rt:
__restore:
movl $15, %eax
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.global sigsetjmp
+.type sigsetjmp,@function
sigsetjmp:
andl %esi,%esi
movq %rsi,64(%rdi)
.text
.global __set_thread_area
+.type __set_thread_area,@function
__set_thread_area:
pushl %ebx
movl 8(%esp),%ecx
.text
.global __unmapself
+.type __unmapself,@function
__unmapself:
movl $91,%eax
movl 4(%esp),%ebx
.text
.global __pthread_register_cancel
+.type __pthread_register_cancel,@function
__pthread_register_cancel:
pushl %eax
call __pthread_register_cancel_3
ret
.global __pthread_unregister_cancel
+.type __pthread_unregister_cancel,@function
__pthread_unregister_cancel:
pushl %eax
call __pthread_unregister_cancel_3
.text
.global __pthread_unwind_next
+.type __pthread_unwind_next,@function
__pthread_unwind_next:
pushl %eax
call __pthread_unwind_next_3
.text
.global __uniclone
+.type __uniclone,@function
__uniclone:
movl 4(%esp),%ecx
subl $24,%ecx
.text
.global __syscall_cp_asm
+.type __syscall_cp_asm,@function
__syscall_cp_asm:
pushl %ebx
pushl %esi
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __set_thread_area
+.type __set_thread_area,@function
__set_thread_area:
mov %rdi,%rsi /* shift for syscall */
movl $0x1002,%edi /* SET_FS register */
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __unmapself
+.type __unmapself,@function
__unmapself:
movl $11,%eax /* SYS_munmap */
syscall /* munmap(arg2,arg3) */
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __uniclone
+.type __uniclone,@function
/* rdi = child_stack, rsi = start, rdx = pthread_struct */
__uniclone:
subq $8,%rsp /* pad parent stack to prevent branch later */
.text
.global __syscall_cp_asm
+.type __syscall_cp_asm,@function
__syscall_cp_asm:
lea 1f(%rip),%rax
mov %rax,8(%rdi)