x32 port (diff against vanilla x86_64)

This commit is contained in:
rofl0r 2014-01-07 22:53:38 +01:00
commit 664cd34192
39 changed files with 882 additions and 793 deletions

View file

@ -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

View file

@ -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) */

View file

@ -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

View file

@ -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: