summaryrefslogtreecommitdiffstats
path: root/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S')
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S1223
1 files changed, 1223 insertions, 0 deletions
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S b/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
new file mode 100644
index 0000000..74f59db
--- /dev/null
+++ b/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
@@ -0,0 +1,1223 @@
+// Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// This file is automatically generated. Do not edit.
+//
+// Source: https://github.com/NuxiNL/cloudabi
+
+#define ENTRY(name) \
+ .text; \
+ .p2align 2, 0x90; \
+ .global name; \
+ .type name, @function; \
+name:
+
+#define END(name) .size name, . - name
+
+ENTRY(cloudabi_sys_clock_res_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $0, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 12(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+ mov -12(%ebp), %edx
+ mov %edx, 4(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_clock_res_get)
+
+ENTRY(cloudabi_sys_clock_time_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $1, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 20(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+ mov -12(%ebp), %edx
+ mov %edx, 4(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_clock_time_get)
+
+ENTRY(cloudabi_sys_condvar_signal)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $2, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_condvar_signal)
+
+ENTRY(cloudabi_sys_fd_close)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $3, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_close)
+
+ENTRY(cloudabi_sys_fd_create1)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $4, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 12(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_create1)
+
+ENTRY(cloudabi_sys_fd_create2)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $5, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 12(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+ mov 16(%ebp), %ecx
+ mov -8(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_create2)
+
+ENTRY(cloudabi_sys_fd_datasync)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $6, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_datasync)
+
+ENTRY(cloudabi_sys_fd_dup)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $7, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 12(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_dup)
+
+ENTRY(cloudabi_sys_fd_pread)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $8, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 28(%ebp), %ecx
+ mov -32(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_pread)
+
+ENTRY(cloudabi_sys_fd_pwrite)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $9, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 28(%ebp), %ecx
+ mov -32(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_pwrite)
+
+ENTRY(cloudabi_sys_fd_read)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $10, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 20(%ebp), %ecx
+ mov -24(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_read)
+
+ENTRY(cloudabi_sys_fd_replace)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $11, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_replace)
+
+ENTRY(cloudabi_sys_fd_seek)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $12, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 24(%ebp), %ecx
+ mov -24(%ebp), %edx
+ mov %edx, 0(%ecx)
+ mov -20(%ebp), %edx
+ mov %edx, 4(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_seek)
+
+ENTRY(cloudabi_sys_fd_stat_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $13, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_stat_get)
+
+ENTRY(cloudabi_sys_fd_stat_put)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $14, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_stat_put)
+
+ENTRY(cloudabi_sys_fd_sync)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $15, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_sync)
+
+ENTRY(cloudabi_sys_fd_write)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $16, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 20(%ebp), %ecx
+ mov -24(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_fd_write)
+
+ENTRY(cloudabi_sys_file_advise)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -20(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -12(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $17, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_advise)
+
+ENTRY(cloudabi_sys_file_allocate)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $18, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_allocate)
+
+ENTRY(cloudabi_sys_file_create)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $19, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_create)
+
+ENTRY(cloudabi_sys_file_link)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -48(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -44(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ movl $0, -36(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 32(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $20, %eax
+ mov %ebp, %ecx
+ sub $48, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_link)
+
+ENTRY(cloudabi_sys_file_open)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -36(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $21, %eax
+ mov %ebp, %ecx
+ sub $40, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 32(%ebp), %ecx
+ mov -40(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_file_open)
+
+ENTRY(cloudabi_sys_file_readdir)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $22, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 28(%ebp), %ecx
+ mov -32(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_file_readdir)
+
+ENTRY(cloudabi_sys_file_readlink)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $23, %eax
+ mov %ebp, %ecx
+ sub $40, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 28(%ebp), %ecx
+ mov -40(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_file_readlink)
+
+ENTRY(cloudabi_sys_file_rename)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -48(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ movl $0, -36(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $24, %eax
+ mov %ebp, %ecx
+ sub $48, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_rename)
+
+ENTRY(cloudabi_sys_file_stat_fget)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $25, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_stat_fget)
+
+ENTRY(cloudabi_sys_file_stat_fput)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $26, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_stat_fput)
+
+ENTRY(cloudabi_sys_file_stat_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -28(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $27, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_stat_get)
+
+ENTRY(cloudabi_sys_file_stat_put)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -36(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $28, %eax
+ mov %ebp, %ecx
+ sub $40, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_stat_put)
+
+ENTRY(cloudabi_sys_file_symlink)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ movl $0, -36(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $29, %eax
+ mov %ebp, %ecx
+ sub $40, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_symlink)
+
+ENTRY(cloudabi_sys_file_unlink)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $30, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_file_unlink)
+
+ENTRY(cloudabi_sys_lock_unlock)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $31, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_lock_unlock)
+
+ENTRY(cloudabi_sys_mem_advise)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $32, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_advise)
+
+ENTRY(cloudabi_sys_mem_lock)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $33, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_lock)
+
+ENTRY(cloudabi_sys_mem_map)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -48(%ebp)
+ movl $0, -44(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ movl $0, -36(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov 32(%ebp), %ecx
+ mov %ecx, -4(%ebp)
+ mov $34, %eax
+ mov %ebp, %ecx
+ sub $48, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 36(%ebp), %ecx
+ mov -48(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_map)
+
+ENTRY(cloudabi_sys_mem_protect)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $35, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_protect)
+
+ENTRY(cloudabi_sys_mem_sync)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $36, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_sync)
+
+ENTRY(cloudabi_sys_mem_unlock)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $37, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_unlock)
+
+ENTRY(cloudabi_sys_mem_unmap)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $38, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_mem_unmap)
+
+ENTRY(cloudabi_sys_poll)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $39, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 20(%ebp), %ecx
+ mov -24(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_poll)
+
+ENTRY(cloudabi_sys_poll_fd)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -48(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ movl $0, -36(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 28(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $40, %eax
+ mov %ebp, %ecx
+ sub $48, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 32(%ebp), %ecx
+ mov -48(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_poll_fd)
+
+ENTRY(cloudabi_sys_proc_exec)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -40(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ movl $0, -28(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ movl $0, -20(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 24(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $41, %eax
+ mov %ebp, %ecx
+ sub $40, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_proc_exec)
+
+ENTRY(cloudabi_sys_proc_exit)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $42, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+END(cloudabi_sys_proc_exit)
+
+ENTRY(cloudabi_sys_proc_fork)
+ push %ebp
+ mov %esp, %ebp
+ mov $43, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 8(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+ mov 12(%ebp), %ecx
+ mov -8(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_proc_fork)
+
+ENTRY(cloudabi_sys_proc_raise)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov $44, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_proc_raise)
+
+ENTRY(cloudabi_sys_random_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $45, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_random_get)
+
+ENTRY(cloudabi_sys_sock_accept)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $46, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 16(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_accept)
+
+ENTRY(cloudabi_sys_sock_bind)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $47, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_bind)
+
+ENTRY(cloudabi_sys_sock_connect)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -32(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 20(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $48, %eax
+ mov %ebp, %ecx
+ sub $32, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_connect)
+
+ENTRY(cloudabi_sys_sock_listen)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $49, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_listen)
+
+ENTRY(cloudabi_sys_sock_recv)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $50, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_recv)
+
+ENTRY(cloudabi_sys_sock_send)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ movl $0, -4(%ebp)
+ mov $51, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_send)
+
+ENTRY(cloudabi_sys_sock_shutdown)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $52, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_shutdown)
+
+ENTRY(cloudabi_sys_sock_stat_get)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -24(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 16(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $53, %eax
+ mov %ebp, %ecx
+ sub $24, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_sock_stat_get)
+
+ENTRY(cloudabi_sys_thread_create)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov $54, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ test %eax, %eax
+ jnz 1f
+ mov 12(%ebp), %ecx
+ mov -16(%ebp), %edx
+ mov %edx, 0(%ecx)
+1:
+ pop %ebp
+ ret
+END(cloudabi_sys_thread_create)
+
+ENTRY(cloudabi_sys_thread_exit)
+ push %ebp
+ mov %esp, %ebp
+ mov 8(%ebp), %ecx
+ mov %ecx, -16(%ebp)
+ movl $0, -12(%ebp)
+ mov 12(%ebp), %ecx
+ mov %ecx, -8(%ebp)
+ mov $55, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+END(cloudabi_sys_thread_exit)
+
+ENTRY(cloudabi_sys_thread_yield)
+ push %ebp
+ mov %esp, %ebp
+ mov $56, %eax
+ mov %ebp, %ecx
+ sub $16, %ecx
+ int $0x80
+ pop %ebp
+ ret
+END(cloudabi_sys_thread_yield)
OpenPOWER on IntegriCloud