x32 port (diff against vanilla x86_64)
This commit is contained in:
parent
323272db17
commit
664cd34192
39 changed files with 882 additions and 793 deletions
|
|
@ -5,6 +5,6 @@
|
|||
__set_thread_area:
|
||||
mov %rdi,%rsi /* shift for syscall */
|
||||
movl $0x1002,%edi /* SET_FS register */
|
||||
movl $158,%eax /* set fs segment to */
|
||||
movl $0x4000009e,%eax /* set fs segment to */
|
||||
syscall /* arch_prctl(SET_FS, arg)*/
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
.global __unmapself
|
||||
.type __unmapself,@function
|
||||
__unmapself:
|
||||
movl $11,%eax /* SYS_munmap */
|
||||
movl $0x4000000b,%eax /* SYS_munmap */
|
||||
syscall /* munmap(arg2,arg3) */
|
||||
xor %rdi,%rdi /* exit() args: always return success */
|
||||
movl $60,%eax /* SYS_exit */
|
||||
movl $0x4000003c,%eax /* SYS_exit */
|
||||
syscall /* exit(0) */
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
.global __clone
|
||||
.type __clone,@function
|
||||
__clone:
|
||||
xor %eax,%eax
|
||||
mov $56,%al
|
||||
movl $0x40000038,%eax /* SYS_clone */
|
||||
mov %rdi,%r11
|
||||
mov %rdx,%rdi
|
||||
mov %r8,%rdx
|
||||
|
|
@ -20,8 +19,7 @@ __clone:
|
|||
pop %rdi
|
||||
call *%r9
|
||||
mov %eax,%edi
|
||||
xor %eax,%eax
|
||||
mov $60,%al
|
||||
movl $0x4000003c,%eax /* SYS_exit */
|
||||
syscall
|
||||
hlt
|
||||
1: ret
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.text
|
||||
.global __syscall_cp_asm
|
||||
.type __syscall_cp_asm,@function
|
||||
__syscall_cp_asm:
|
||||
.global __syscall_cp_internal
|
||||
.type __syscall_cp_internal,@function
|
||||
__syscall_cp_internal:
|
||||
|
||||
.global __cp_begin
|
||||
__cp_begin:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue