1// Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors. 2// 3// Redistribution and use in source and binary forms, with or without 4// modification, are permitted provided that the following conditions 5// are met: 6// 1. Redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer. 8// 2. Redistributions in binary form must reproduce the above copyright 9// notice, this list of conditions and the following disclaimer in the 10// documentation and/or other materials provided with the distribution. 11// 12// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22// SUCH DAMAGE. 23// 24// This file is automatically generated. Do not edit. 25// 26// Source: https://github.com/NuxiNL/cloudabi 27 28#define ENTRY(name) \ 29 .text; \ 30 .p2align 2, 0x90; \ 31 .global name; \ 32 .type name, @function; \ 33name: 34 35#define END(name) .size name, . - name 36 37ENTRY(cloudabi_sys_clock_res_get) 38 mov $0, %eax 39 int $0x80 40 jc 1f 41 mov 8(%esp), %ecx 42 mov %eax, 0(%ecx) 43 mov %edx, 4(%ecx) 44 xor %eax, %eax 451: 46 ret 47END(cloudabi_sys_clock_res_get) 48 49ENTRY(cloudabi_sys_clock_time_get) 50 mov $1, %eax 51 int $0x80 52 jc 1f 53 mov 16(%esp), %ecx 54 mov %eax, 0(%ecx) 55 mov %edx, 4(%ecx) 56 xor %eax, %eax 571: 58 ret 59END(cloudabi_sys_clock_time_get) 60 61ENTRY(cloudabi_sys_condvar_signal) 62 mov $2, %eax 63 int $0x80 64 ret 65END(cloudabi_sys_condvar_signal) 66 67ENTRY(cloudabi_sys_fd_close) 68 mov $3, %eax 69 int $0x80 70 ret 71END(cloudabi_sys_fd_close) 72 73ENTRY(cloudabi_sys_fd_create1) 74 mov $4, %eax 75 int $0x80 76 jc 1f 77 mov 8(%esp), %ecx 78 mov %eax, (%ecx) 79 xor %eax, %eax 801: 81 ret 82END(cloudabi_sys_fd_create1) 83 84ENTRY(cloudabi_sys_fd_create2) 85 mov $5, %eax 86 int $0x80 87 jc 1f 88 mov 8(%esp), %ecx 89 mov %eax, (%ecx) 90 mov 12(%esp), %ecx 91 mov %edx, (%ecx) 92 xor %eax, %eax 931: 94 ret 95END(cloudabi_sys_fd_create2) 96 97ENTRY(cloudabi_sys_fd_datasync) 98 mov $6, %eax 99 int $0x80 100 ret 101END(cloudabi_sys_fd_datasync) 102 103ENTRY(cloudabi_sys_fd_dup) 104 mov $7, %eax 105 int $0x80 106 jc 1f 107 mov 8(%esp), %ecx 108 mov %eax, (%ecx) 109 xor %eax, %eax 1101: 111 ret 112END(cloudabi_sys_fd_dup) 113 114ENTRY(cloudabi_sys_fd_pread) 115 mov $8, %eax 116 int $0x80 117 jc 1f 118 mov 24(%esp), %ecx 119 mov %eax, (%ecx) 120 xor %eax, %eax 1211: 122 ret 123END(cloudabi_sys_fd_pread) 124 125ENTRY(cloudabi_sys_fd_pwrite) 126 mov $9, %eax 127 int $0x80 128 jc 1f 129 mov 24(%esp), %ecx 130 mov %eax, (%ecx) 131 xor %eax, %eax 1321: 133 ret 134END(cloudabi_sys_fd_pwrite) 135 136ENTRY(cloudabi_sys_fd_read) 137 mov $10, %eax 138 int $0x80 139 jc 1f 140 mov 16(%esp), %ecx 141 mov %eax, (%ecx) 142 xor %eax, %eax 1431: 144 ret 145END(cloudabi_sys_fd_read) 146 147ENTRY(cloudabi_sys_fd_replace) 148 mov $11, %eax 149 int $0x80 150 ret 151END(cloudabi_sys_fd_replace) 152 153ENTRY(cloudabi_sys_fd_seek) 154 mov $12, %eax 155 int $0x80 156 jc 1f 157 mov 20(%esp), %ecx 158 mov %eax, 0(%ecx) 159 mov %edx, 4(%ecx) 160 xor %eax, %eax 1611: 162 ret 163END(cloudabi_sys_fd_seek) 164 165ENTRY(cloudabi_sys_fd_stat_get) 166 mov $13, %eax 167 int $0x80 168 ret 169END(cloudabi_sys_fd_stat_get) 170 171ENTRY(cloudabi_sys_fd_stat_put) 172 mov $14, %eax 173 int $0x80 174 ret 175END(cloudabi_sys_fd_stat_put) 176 177ENTRY(cloudabi_sys_fd_sync) 178 mov $15, %eax 179 int $0x80 180 ret 181END(cloudabi_sys_fd_sync) 182 183ENTRY(cloudabi_sys_fd_write) 184 mov $16, %eax 185 int $0x80 186 jc 1f 187 mov 16(%esp), %ecx 188 mov %eax, (%ecx) 189 xor %eax, %eax 1901: 191 ret 192END(cloudabi_sys_fd_write) 193 194ENTRY(cloudabi_sys_file_advise) 195 mov $17, %eax 196 int $0x80 197 ret 198END(cloudabi_sys_file_advise) 199 200ENTRY(cloudabi_sys_file_allocate) 201 mov $18, %eax 202 int $0x80 203 ret 204END(cloudabi_sys_file_allocate) 205 206ENTRY(cloudabi_sys_file_create) 207 mov $19, %eax 208 int $0x80 209 ret 210END(cloudabi_sys_file_create) 211 212ENTRY(cloudabi_sys_file_link) 213 mov $20, %eax 214 int $0x80 215 ret 216END(cloudabi_sys_file_link) 217 218ENTRY(cloudabi_sys_file_open) 219 mov $21, %eax 220 int $0x80 221 jc 1f 222 mov 28(%esp), %ecx 223 mov %eax, (%ecx) 224 xor %eax, %eax 2251: 226 ret 227END(cloudabi_sys_file_open) 228 229ENTRY(cloudabi_sys_file_readdir) 230 mov $22, %eax 231 int $0x80 232 jc 1f 233 mov 24(%esp), %ecx 234 mov %eax, (%ecx) 235 xor %eax, %eax 2361: 237 ret 238END(cloudabi_sys_file_readdir) 239 240ENTRY(cloudabi_sys_file_readlink) 241 mov $23, %eax 242 int $0x80 243 jc 1f 244 mov 24(%esp), %ecx 245 mov %eax, (%ecx) 246 xor %eax, %eax 2471: 248 ret 249END(cloudabi_sys_file_readlink) 250 251ENTRY(cloudabi_sys_file_rename) 252 mov $24, %eax 253 int $0x80 254 ret 255END(cloudabi_sys_file_rename) 256 257ENTRY(cloudabi_sys_file_stat_fget) 258 mov $25, %eax 259 int $0x80 260 ret 261END(cloudabi_sys_file_stat_fget) 262 263ENTRY(cloudabi_sys_file_stat_fput) 264 mov $26, %eax 265 int $0x80 266 ret 267END(cloudabi_sys_file_stat_fput) 268 269ENTRY(cloudabi_sys_file_stat_get) 270 mov $27, %eax 271 int $0x80 272 ret 273END(cloudabi_sys_file_stat_get) 274 275ENTRY(cloudabi_sys_file_stat_put) 276 mov $28, %eax 277 int $0x80 278 ret 279END(cloudabi_sys_file_stat_put) 280 281ENTRY(cloudabi_sys_file_symlink) 282 mov $29, %eax 283 int $0x80 284 ret 285END(cloudabi_sys_file_symlink) 286 287ENTRY(cloudabi_sys_file_unlink) 288 mov $30, %eax 289 int $0x80 290 ret 291END(cloudabi_sys_file_unlink) 292 293ENTRY(cloudabi_sys_lock_unlock) 294 mov $31, %eax 295 int $0x80 296 ret 297END(cloudabi_sys_lock_unlock) 298 299ENTRY(cloudabi_sys_mem_advise) 300 mov $32, %eax 301 int $0x80 302 ret 303END(cloudabi_sys_mem_advise) 304 305ENTRY(cloudabi_sys_mem_map) 306 mov $33, %eax 307 int $0x80 308 jc 1f 309 mov 32(%esp), %ecx 310 mov %eax, (%ecx) 311 xor %eax, %eax 3121: 313 ret 314END(cloudabi_sys_mem_map) 315 316ENTRY(cloudabi_sys_mem_protect) 317 mov $34, %eax 318 int $0x80 319 ret 320END(cloudabi_sys_mem_protect) 321 322ENTRY(cloudabi_sys_mem_sync) 323 mov $35, %eax 324 int $0x80 325 ret 326END(cloudabi_sys_mem_sync) 327 328ENTRY(cloudabi_sys_mem_unmap) 329 mov $36, %eax 330 int $0x80 331 ret 332END(cloudabi_sys_mem_unmap) 333 334ENTRY(cloudabi_sys_poll) 335 mov $37, %eax 336 int $0x80 337 jc 1f 338 mov 16(%esp), %ecx 339 mov %eax, (%ecx) 340 xor %eax, %eax 3411: 342 ret 343END(cloudabi_sys_poll) 344 345ENTRY(cloudabi_sys_proc_exec) 346 mov $38, %eax 347 int $0x80 348 ret 349END(cloudabi_sys_proc_exec) 350 351ENTRY(cloudabi_sys_proc_exit) 352 mov $39, %eax 353 int $0x80 354END(cloudabi_sys_proc_exit) 355 356ENTRY(cloudabi_sys_proc_fork) 357 mov $40, %eax 358 int $0x80 359 jc 1f 360 mov 4(%esp), %ecx 361 mov %eax, (%ecx) 362 mov 8(%esp), %ecx 363 mov %edx, (%ecx) 364 xor %eax, %eax 3651: 366 ret 367END(cloudabi_sys_proc_fork) 368 369ENTRY(cloudabi_sys_proc_raise) 370 mov $41, %eax 371 int $0x80 372 ret 373END(cloudabi_sys_proc_raise) 374 375ENTRY(cloudabi_sys_random_get) 376 mov $42, %eax 377 int $0x80 378 ret 379END(cloudabi_sys_random_get) 380 381ENTRY(cloudabi_sys_sock_recv) 382 mov $43, %eax 383 int $0x80 384 ret 385END(cloudabi_sys_sock_recv) 386 387ENTRY(cloudabi_sys_sock_send) 388 mov $44, %eax 389 int $0x80 390 ret 391END(cloudabi_sys_sock_send) 392 393ENTRY(cloudabi_sys_sock_shutdown) 394 mov $45, %eax 395 int $0x80 396 ret 397END(cloudabi_sys_sock_shutdown) 398 399ENTRY(cloudabi_sys_thread_create) 400 mov $46, %eax 401 int $0x80 402 jc 1f 403 mov 8(%esp), %ecx 404 mov %eax, (%ecx) 405 xor %eax, %eax 4061: 407 ret 408END(cloudabi_sys_thread_create) 409 410ENTRY(cloudabi_sys_thread_exit) 411 mov $47, %eax 412 int $0x80 413END(cloudabi_sys_thread_exit) 414 415ENTRY(cloudabi_sys_thread_yield) 416 mov $48, %eax 417 int $0x80 418 ret 419END(cloudabi_sys_thread_yield) 420