ref: 95b8caa2f3679d450a19e9b62d8eacb70e51b073
parent: d42a0a6a77f8baaa2e3e57e23aa495204e9f6642
author: Andrew Chambers <andrewchamberss@gmail.com>
date: Sat Jan 16 17:54:05 EST 2016
work on openbsd port - fix start assembly - update syscall numbers to match openbsd - add openbsd note section
--- a/lib/sys/sys+openbsd-x64.myr
+++ b/lib/sys/sys+openbsd-x64.myr
@@ -277,415 +277,214 @@
const Umtxmax : umtxop = 23
/* syscalls */
- const Syssyscall : scno = 0
- const Sysexit : scno = 1
- const Sysfork : scno = 2
- const Sysread : scno = 3
- const Syswrite : scno = 4
- const Sysopen : scno = 5
- const Sysclose : scno = 6
- const Syswait4 : scno = 7
- const Syslink : scno = 9
- const Sysunlink : scno = 10
- const Syschdir : scno = 12
- const Sysfchdir : scno = 13
- const Sysmknod : scno = 14
- const Syschmod : scno = 15
- const Syschown : scno = 16
- const Sysbreak : scno = 17
- const Sysfreebsd4_getfsstat : scno = 18
- const Sysgetpid : scno = 20
- const Sysmount : scno = 21
- const Sysunmount : scno = 22
- const Syssetuid : scno = 23
- const Sysgetuid : scno = 24
- const Sysgeteuid : scno = 25
- const Sysptrace : scno = 26
- const Sysrecvmsg : scno = 27
- const Syssendmsg : scno = 28
- const Sysrecvfrom : scno = 29
- const Sysaccept : scno = 30
- const Sysgetpeername : scno = 31
- const Sysgetsockname : scno = 32
- const Sysaccess : scno = 33
- const Syschflags : scno = 34
- const Sysfchflags : scno = 35
- const Syssync : scno = 36
- const Syskill : scno = 37
- const Sysgetppid : scno = 39
- const Sysdup : scno = 41
- const Syspipe : scno = 42
- const Sysgetegid : scno = 43
- const Sysprofil : scno = 44
- const Sysktrace : scno = 45
- const Sysgetgid : scno = 47
- const Sysgetlogin : scno = 49
- const Syssetlogin : scno = 50
- const Sysacct : scno = 51
- const Syssigaltstack : scno = 53
- const Sysioctl : scno = 54
- const Sysreboot : scno = 55
- const Sysrevoke : scno = 56
- const Syssymlink : scno = 57
- const Sysreadlink : scno = 58
- const Sysexecve : scno = 59
- const Sysumask : scno = 60
- const Syschroot : scno = 61
- const Sysmsync : scno = 65
- const Sysvfork : scno = 66
- const Syssbrk : scno = 69
- const Syssstk : scno = 70
- const Sysvadvise : scno = 72
- const Sysmunmap : scno = 73
- const Sysmprotect : scno = 74
- const Sysmadvise : scno = 75
- const Sysmincore : scno = 78
- const Sysgetgroups : scno = 79
- const Syssetgroups : scno = 80
- const Sysgetpgrp : scno = 81
- const Syssetpgid : scno = 82
- const Syssetitimer : scno = 83
- const Sysswapon : scno = 85
- const Sysgetitimer : scno = 86
- const Sysgetdtablesize : scno = 89
- const Sysdup2 : scno = 90
- const Sysfcntl : scno = 92
- const Sysselect : scno = 93
- const Sysfsync : scno = 95
- const Syssetpriority : scno = 96
- const Syssocket : scno = 97
- const Sysconnect : scno = 98
- const Sysgetpriority : scno = 100
- const Sysbind : scno = 104
- const Syssetsockopt : scno = 105
- const Syslisten : scno = 106
- const Sysgettimeofday : scno = 116
- const Sysgetrusage : scno = 117
- const Sysgetsockopt : scno = 118
- const Sysreadv : scno = 120
- const Syswritev : scno = 121
- const Syssettimeofday : scno = 122
- const Sysfchown : scno = 123
- const Sysfchmod : scno = 124
- const Syssetreuid : scno = 126
- const Syssetregid : scno = 127
- const Sysrename : scno = 128
- const Sysflock : scno = 131
- const Sysmkfifo : scno = 132
- const Syssendto : scno = 133
- const Sysshutdown : scno = 134
- const Syssocketpair : scno = 135
- const Sysmkdir : scno = 136
- const Sysrmdir : scno = 137
- const Sysutimes : scno = 138
- const Sysadjtime : scno = 140
- const Syssetsid : scno = 147
- const Sysquotactl : scno = 148
- const Sysnlm_syscall : scno = 154
- const Sysnfssvc : scno = 155
- const Sysfreebsd4_statfs : scno = 157
- const Sysfreebsd4_fstatfs : scno = 158
- const Syslgetfh : scno = 160
- const Sysgetfh : scno = 161
- const Sysfreebsd4_getdomainname : scno = 162
- const Sysfreebsd4_setdomainname : scno = 163
- const Sysfreebsd4_uname : scno = 164
- const Syssysarch : scno = 165
- const Sysrtprio : scno = 166
- const Syssemsys : scno = 169
- const Sysmsgsys : scno = 170
- const Sysshmsys : scno = 171
- const Sysfreebsd6_pread : scno = 173
- const Sysfreebsd6_pwrite : scno = 174
- const Syssetfib : scno = 175
- const Sysntp_adjtime : scno = 176
- const Syssetgid : scno = 181
- const Syssetegid : scno = 182
- const Sysseteuid : scno = 183
- const Sysstat : scno = 188
- const Sysfstat : scno = 189
- const Syslstat : scno = 190
- const Syspathconf : scno = 191
- const Sysfpathconf : scno = 192
- const Sysgetrlimit : scno = 194
- const Syssetrlimit : scno = 195
- const Sysgetdirentries : scno = 196
- const Sysfreebsd6_mmap : scno = 197
- const Sys__syscall : scno = 198
- const Sysfreebsd6_lseek : scno = 199
- const Sysfreebsd6_truncate : scno = 200
- const Sysfreebsd6_ftruncate : scno = 201
- const Sys__sysctl : scno = 202
- const Sysmlock : scno = 203
- const Sysmunlock : scno = 204
- const Sysundelete : scno = 205
- const Sysfutimes : scno = 206
- const Sysgetpgid : scno = 207
- const Syspoll : scno = 209
- const Sysfreebsd7___semctl : scno = 220
- const Syssemget : scno = 221
- const Syssemop : scno = 222
- const Sysfreebsd7_msgctl : scno = 224
- const Sysmsgget : scno = 225
- const Sysmsgsnd : scno = 226
- const Sysmsgrcv : scno = 227
- const Sysshmat : scno = 228
- const Sysfreebsd7_shmctl : scno = 229
- const Sysshmdt : scno = 230
- const Sysshmget : scno = 231
- const Sysclock_gettime : scno = 232
- const Sysclock_settime : scno = 233
- const Sysclock_getres : scno = 234
- const Sysktimer_create : scno = 235
- const Sysktimer_delete : scno = 236
- const Sysktimer_settime : scno = 237
- const Sysktimer_gettime : scno = 238
- const Sysktimer_getoverrun : scno = 239
- const Sysnanosleep : scno = 240
- const Sysffclock_getcounter : scno = 241
- const Sysffclock_setestimate : scno = 242
- const Sysffclock_getestimate : scno = 243
- const Sysclock_getcpuclockid2 : scno = 247
- const Sysntp_gettime : scno = 248
- const Sysminherit : scno = 250
- const Sysrfork : scno = 251
- const Sysopenbsd_poll : scno = 252
- const Sysissetugid : scno = 253
- const Syslchown : scno = 254
- const Sysaio_read : scno = 255
- const Sysaio_write : scno = 256
- const Syslio_listio : scno = 257
- const Sysgetdents : scno = 272
- const Syslchmod : scno = 274
- const Sysnetbsd_lchown : scno = 275
- const Syslutimes : scno = 276
- const Sysnetbsd_msync : scno = 277
- const Sysnstat : scno = 278
- const Sysnfstat : scno = 279
- const Sysnlstat : scno = 280
- const Syspreadv : scno = 289
- const Syspwritev : scno = 290
- const Sysfreebsd4_fhstatfs : scno = 297
- const Sysfhopen : scno = 298
- const Sysfhstat : scno = 299
- const Sysmodnext : scno = 300
- const Sysmodstat : scno = 301
- const Sysmodfnext : scno = 302
- const Sysmodfind : scno = 303
- const Syskldload : scno = 304
- const Syskldunload : scno = 305
- const Syskldfind : scno = 306
- const Syskldnext : scno = 307
- const Syskldstat : scno = 308
- const Syskldfirstmod : scno = 309
- const Sysgetsid : scno = 310
- const Syssetresuid : scno = 311
- const Syssetresgid : scno = 312
- const Sysaio_return : scno = 314
- const Sysaio_suspend : scno = 315
- const Sysaio_cancel : scno = 316
- const Sysaio_error : scno = 317
- const Sysoaio_read : scno = 318
- const Sysoaio_write : scno = 319
- const Sysolio_listio : scno = 320
- const Sysyield : scno = 321
- const Sysmlockall : scno = 324
- const Sysmunlockall : scno = 325
- const Sys__getcwd : scno = 326
- const Syssched_setparam : scno = 327
- const Syssched_getparam : scno = 328
- const Syssched_setscheduler : scno = 329
- const Syssched_getscheduler : scno = 330
- const Syssched_yield : scno = 331
- const Syssched_get_priority_max : scno = 332
- const Syssched_get_priority_min : scno = 333
- const Syssched_rr_get_interval : scno = 334
- const Sysutrace : scno = 335
- const Sysfreebsd4_sendfile : scno = 336
- const Syskldsym : scno = 337
- const Sysjail : scno = 338
- const Sysnnpfs_syscall : scno = 339
- const Syssigprocmask : scno = 340
- const Syssigsuspend : scno = 341
- const Sysfreebsd4_sigaction : scno = 342
- const Syssigpending : scno = 343
- const Sysfreebsd4_sigreturn : scno = 344
- const Syssigtimedwait : scno = 345
- const Syssigwaitinfo : scno = 346
- const Sys__acl_get_file : scno = 347
- const Sys__acl_set_file : scno = 348
- const Sys__acl_get_fd : scno = 349
- const Sys__acl_set_fd : scno = 350
- const Sys__acl_delete_file : scno = 351
- const Sys__acl_delete_fd : scno = 352
- const Sys__acl_aclcheck_file : scno = 353
- const Sys__acl_aclcheck_fd : scno = 354
- const Sysextattrctl : scno = 355
- const Sysextattr_set_file : scno = 356
- const Sysextattr_get_file : scno = 357
- const Sysextattr_delete_file : scno = 358
- const Sysaio_waitcomplete : scno = 359
- const Sysgetresuid : scno = 360
- const Sysgetresgid : scno = 361
- const Syskqueue : scno = 362
- const Syskevent : scno = 363
- const Sysextattr_set_fd : scno = 371
- const Sysextattr_get_fd : scno = 372
- const Sysextattr_delete_fd : scno = 373
- const Sys__setugid : scno = 374
- const Syseaccess : scno = 376
- const Sysafs3_syscall : scno = 377
- const Sysnmount : scno = 378
- const Sys__mac_get_proc : scno = 384
- const Sys__mac_set_proc : scno = 385
- const Sys__mac_get_fd : scno = 386
- const Sys__mac_get_file : scno = 387
- const Sys__mac_set_fd : scno = 388
- const Sys__mac_set_file : scno = 389
- const Syskenv : scno = 390
- const Syslchflags : scno = 391
- const Sysuuidgen : scno = 392
- const Syssendfile : scno = 393
- const Sysmac_syscall : scno = 394
- const Sysgetfsstat : scno = 395
- const Sysstatfs : scno = 396
- const Sysfstatfs : scno = 397
- const Sysfhstatfs : scno = 398
- const Sysksem_close : scno = 400
- const Sysksem_post : scno = 401
- const Sysksem_wait : scno = 402
- const Sysksem_trywait : scno = 403
- const Sysksem_init : scno = 404
- const Sysksem_open : scno = 405
- const Sysksem_unlink : scno = 406
- const Sysksem_getvalue : scno = 407
- const Sysksem_destroy : scno = 408
- const Sys__mac_get_pid : scno = 409
- const Sys__mac_get_link : scno = 410
- const Sys__mac_set_link : scno = 411
- const Sysextattr_set_link : scno = 412
- const Sysextattr_get_link : scno = 413
- const Sysextattr_delete_link : scno = 414
- const Sys__mac_execve : scno = 415
- const Syssigaction : scno = 416
- const Syssigreturn : scno = 417
- const Sysgetcontext : scno = 421
- const Syssetcontext : scno = 422
- const Sysswapcontext : scno = 423
- const Sysswapoff : scno = 424
- const Sys__acl_get_link : scno = 425
- const Sys__acl_set_link : scno = 426
- const Sys__acl_delete_link : scno = 427
- const Sys__acl_aclcheck_link : scno = 428
- const Syssigwait : scno = 429
- const Systhr_create : scno = 430
- const Systhr_exit : scno = 431
- const Systhr_self : scno = 432
- const Systhr_kill : scno = 433
- const Sys_umtx_lock : scno = 434
- const Sys_umtx_unlock : scno = 435
- const Sysjail_attach : scno = 436
- const Sysextattr_list_fd : scno = 437
- const Sysextattr_list_file : scno = 438
- const Sysextattr_list_link : scno = 439
- const Sysksem_timedwait : scno = 441
- const Systhr_suspend : scno = 442
- const Systhr_wake : scno = 443
- const Syskldunloadf : scno = 444
- const Sysaudit : scno = 445
- const Sysauditon : scno = 446
- const Sysgetauid : scno = 447
- const Syssetauid : scno = 448
- const Sysgetaudit : scno = 449
- const Syssetaudit : scno = 450
- const Sysgetaudit_addr : scno = 451
- const Syssetaudit_addr : scno = 452
- const Sysauditctl : scno = 453
- const Sys_umtx_op : scno = 454
- const Systhr_new : scno = 455
- const Syssigqueue : scno = 456
- const Syskmq_open : scno = 457
- const Syskmq_setattr : scno = 458
- const Syskmq_timedreceive : scno = 459
- const Syskmq_timedsend : scno = 460
- const Syskmq_notify : scno = 461
- const Syskmq_unlink : scno = 462
- const Sysabort2 : scno = 463
- const Systhr_set_name : scno = 464
- const Sysaio_fsync : scno = 465
- const Sysrtprio_thread : scno = 466
- const Syssctp_peeloff : scno = 471
- const Syssctp_generic_sendmsg : scno = 472
- const Syssctp_generic_sendmsg_iov : scno = 473
- const Syssctp_generic_recvmsg : scno = 474
- const Syspread : scno = 475
- const Syspwrite : scno = 476
- const Sysmmap : scno = 477
- const Syslseek : scno = 478
- const Systruncate : scno = 479
- const Sysftruncate : scno = 480
- const Systhr_kill2 : scno = 481
- const Sysshm_open : scno = 482
- const Sysshm_unlink : scno = 483
- const Syscpuset : scno = 484
- const Syscpuset_setid : scno = 485
- const Syscpuset_getid : scno = 486
- const Syscpuset_getaffinity : scno = 487
- const Syscpuset_setaffinity : scno = 488
- const Sysfaccessat : scno = 489
- const Sysfchmodat : scno = 490
- const Sysfchownat : scno = 491
- const Sysfexecve : scno = 492
- const Sysfstatat : scno = 493
- const Sysfutimesat : scno = 494
- const Syslinkat : scno = 495
- const Sysmkdirat : scno = 496
- const Sysmkfifoat : scno = 497
- const Sysmknodat : scno = 498
- const Sysopenat : scno = 499
- const Sysreadlinkat : scno = 500
- const Sysrenameat : scno = 501
- const Syssymlinkat : scno = 502
- const Sysunlinkat : scno = 503
- const Sysposix_openpt : scno = 504
- const Sysgssd_syscall : scno = 505
- const Sysjail_get : scno = 506
- const Sysjail_set : scno = 507
- const Sysjail_remove : scno = 508
- const Sysclosefrom : scno = 509
- const Sys__semctl : scno = 510
- const Sysmsgctl : scno = 511
- const Sysshmctl : scno = 512
- const Syslpathconf : scno = 513
- const Sys__cap_rights_get : scno = 515
- const Syscap_enter : scno = 516
- const Syscap_getmode : scno = 517
- const Syspdfork : scno = 518
- const Syspdkill : scno = 519
- const Syspdgetpid : scno = 520
- const Syspselect : scno = 522
- const Sysgetloginclass : scno = 523
- const Syssetloginclass : scno = 524
- const Sysrctl_get_racct : scno = 525
- const Sysrctl_get_rules : scno = 526
- const Sysrctl_get_limits : scno = 527
- const Sysrctl_add_rule : scno = 528
- const Sysrctl_remove_rule : scno = 529
- const Sysposix_fallocate : scno = 530
- const Sysposix_fadvise : scno = 531
- const Syswait6 : scno = 532
- const Syscap_rights_limit : scno = 533
- const Syscap_ioctls_limit : scno = 534
- const Syscap_ioctls_get : scno = 535
- const Syscap_fcntls_limit : scno = 536
- const Syscap_fcntls_get : scno = 537
- const Sysbindat : scno = 538
- const Sysconnectat : scno = 539
- const Syschflagsat : scno = 540
- const Sysaccept4 : scno = 541
- const Syspipe2 : scno = 542
- const Sysaio_mlock : scno = 543
- const Sysprocctl : scno = 544
+ const Syssyscall : scno = 0
+ const Sysexit : scno = 1
+ const Sysfork : scno = 2
+ const Sysread : scno = 3
+ const Syswrite : scno = 4
+ const Sysopen : scno = 5
+ const Sysclose : scno = 6
+ const Sysgetentropy : scno = 7
+ const Sys__tfork : scno = 8
+ const Syslink : scno = 9
+ const Sysunlink : scno = 10
+ const Syswait4 : scno = 11
+ const Syschdir : scno = 12
+ const Sysfchdir : scno = 13
+ const Sysmknod : scno = 14
+ const Syschmod : scno = 15
+ const Syschown : scno = 16
+ const Sysbreak : scno = 17
+ const Sysgetdtablecount : scno = 18
+ const Sysgetrusage : scno = 19
+ const Sysgetpid : scno = 20
+ const Sysmount : scno = 21
+ const Sysunmount : scno = 22
+ const Syssetuid : scno = 23
+ const Sysgetuid : scno = 24
+ const Sysgeteuid : scno = 25
+ const Sysptrace : scno = 26
+ const Sysrecvmsg : scno = 27
+ const Syssendmsg : scno = 28
+ const Sysrecvfrom : scno = 29
+ const Sysaccept : scno = 30
+ const Sysgetpeername : scno = 31
+ const Sysgetsockname : scno = 32
+ const Sysaccess : scno = 33
+ const Syschflags : scno = 34
+ const Sysfchflags : scno = 35
+ const Syssync : scno = 36
+ const Syskill : scno = 37
+ const Sysstat : scno = 38
+ const Sysgetppid : scno = 39
+ const Syslstat : scno = 40
+ const Sysdup : scno = 41
+ const Sysfstatat : scno = 42
+ const Sysgetegid : scno = 43
+ const Sysprofil : scno = 44
+ const Sysktrace : scno = 45
+ const Syssigaction : scno = 46
+ const Sysgetgid : scno = 47
+ const Syssigprocmask : scno = 48
+ const Sysgetlogin : scno = 49
+ const Syssetlogin : scno = 50
+ const Sysacct : scno = 51
+ const Syssigpending : scno = 52
+ const Sysfstat : scno = 53
+ const Sysioctl : scno = 54
+ const Sysreboot : scno = 55
+ const Sysrevoke : scno = 56
+ const Syssymlink : scno = 57
+ const Sysreadlink : scno = 58
+ const Sysexecve : scno = 59
+ const Sysumask : scno = 60
+ const Syschroot : scno = 61
+ const Sysgetfsstat : scno = 62
+ const Sysstatfs : scno = 63
+ const Sysfstatfs : scno = 64
+ const Sysfhstatfs : scno = 65
+ const Sysvfork : scno = 66
+ const Sysgettimeofday : scno = 67
+ const Syssettimeofday : scno = 68
+ const Syssetitimer : scno = 69
+ const Sysgetitimer : scno = 70
+ const Sysselect : scno = 71
+ const Syskevent : scno = 72
+ const Sysmunmap : scno = 73
+ const Sysmprotect : scno = 74
+ const Sysmadvise : scno = 75
+ const Sysutimes : scno = 76
+ const Sysfutimes : scno = 77
+ const Sysmincore : scno = 78
+ const Sysgetgroups : scno = 79
+ const Syssetgroups : scno = 80
+ const Sysgetpgrp : scno = 81
+ const Syssetpgid : scno = 82
+ const Syssendsyslog : scno = 83
+ const Sysutimensat : scno = 84
+ const Sysfutimens : scno = 85
+ const Syskbind : scno = 86
+ const Sysclock_gettime : scno = 87
+ const Sysclock_settime : scno = 88
+ const Sysclock_getres : scno = 89
+ const Sysdup2 : scno = 90
+ const Sysnanosleep : scno = 91
+ const Sysfcntl : scno = 92
+ const Sysaccept4 : scno = 93
+ const Sys__thrsleep : scno = 94
+ const Sysfsync : scno = 95
+ const Syssetpriority : scno = 96
+ const Syssocket : scno = 97
+ const Sysconnect : scno = 98
+ const Sysgetdents : scno = 99
+ const Sysgetpriority : scno = 100
+ const Syspipe2 : scno = 101
+ const Sysdup3 : scno = 102
+ const Syssigreturn : scno = 103
+ const Sysbind : scno = 104
+ const Syssetsockopt : scno = 105
+ const Syslisten : scno = 106
+ const Syschflagsat : scno = 107
+ const Systame : scno = 108
+ const Sysppoll : scno = 109
+ const Syspselect : scno = 110
+ const Syssigsuspend : scno = 111
+ const Sysgetsockopt : scno = 118
+ const Sysreadv : scno = 120
+ const Syswritev : scno = 121
+ const Sysfchown : scno = 123
+ const Sysfchmod : scno = 124
+ const Syssetreuid : scno = 126
+ const Syssetregid : scno = 127
+ const Sysrename : scno = 128
+ const Sysflock : scno = 131
+ const Sysmkfifo : scno = 132
+ const Syssendto : scno = 133
+ const Sysshutdown : scno = 134
+ const Syssocketpair : scno = 135
+ const Sysmkdir : scno = 136
+ const Sysrmdir : scno = 137
+ const Sysadjtime : scno = 140
+ const Syssetsid : scno = 147
+ const Sysquotactl : scno = 148
+ const Sysnfssvc : scno = 155
+ const Sysgetfh : scno = 161
+ const Syssysarch : scno = 165
+ const Syspread : scno = 173
+ const Syspwrite : scno = 174
+ const Syssetgid : scno = 181
+ const Syssetegid : scno = 182
+ const Sysseteuid : scno = 183
+ const Syspathconf : scno = 191
+ const Sysfpathconf : scno = 192
+ const Sysswapctl : scno = 193
+ const Sysgetrlimit : scno = 194
+ const Syssetrlimit : scno = 195
+ const Sysmmap : scno = 197
+ const Sys__syscall : scno = 198
+ const Syslseek : scno = 199
+ const Systruncate : scno = 200
+ const Sysftruncate : scno = 201
+ const Sys__sysctl : scno = 202
+ const Sysmlock : scno = 203
+ const Sysmunlock : scno = 204
+ const Sysgetpgid : scno = 207
+ const Sysutrace : scno = 209
+ const Syssemget : scno = 221
+ const Sysmsgget : scno = 225
+ const Sysmsgsnd : scno = 226
+ const Sysmsgrcv : scno = 227
+ const Sysshmat : scno = 228
+ const Sysshmdt : scno = 230
+ const Sysminherit : scno = 250
+ const Syspoll : scno = 252
+ const Sysissetugid : scno = 253
+ const Syslchown : scno = 254
+ const Sysgetsid : scno = 255
+ const Sysmsync : scno = 256
+ const Syspipe : scno = 263
+ const Sysfhopen : scno = 264
+ const Syspreadv : scno = 267
+ const Syspwritev : scno = 268
+ const Syskqueue : scno = 269
+ const Sysmlockall : scno = 271
+ const Sysmunlockall : scno = 272
+ const Sysgetresuid : scno = 281
+ const Syssetresuid : scno = 282
+ const Sysgetresgid : scno = 283
+ const Syssetresgid : scno = 284
+ const Sysmquery : scno = 286
+ const Sysclosefrom : scno = 287
+ const Syssigaltstack : scno = 288
+ const Sysshmget : scno = 289
+ const Syssemop : scno = 290
+ const Sysfhstat : scno = 294
+ const Sys__semctl : scno = 295
+ const Sysshmctl : scno = 296
+ const Sysmsgctl : scno = 297
+ const Syssched_yield : scno = 298
+ const Sysgetthrid : scno = 299
+ const Sys__thrwakeup : scno = 301
+ const Sys__threxit : scno = 302
+ const Sys__thrsigdivert : scno = 303
+ const Sys__getcwd : scno = 304
+ const Sysadjfreq : scno = 305
+ const Syssetrtable : scno = 310
+ const Sysgetrtable : scno = 311
+ const Sysfaccessat : scno = 313
+ const Sysfchmodat : scno = 314
+ const Sysfchownat : scno = 315
+ const Syslinkat : scno = 317
+ const Sysmkdirat : scno = 318
+ const Sysmkfifoat : scno = 319
+ const Sysmknodat : scno = 320
+ const Sysopenat : scno = 321
+ const Sysreadlinkat : scno = 322
+ const Sysrenameat : scno = 323
+ const Syssymlinkat : scno = 324
+ const Sysunlinkat : scno = 325
+ const Sys__set_tcb : scno = 329
+ const Sys__get_tcb : scno = 330
extern const syscall : (sc:scno, args:... -> int64)
@@ -824,10 +623,10 @@
/* thread management */
-const thr_new = {param, sz; -> syscall(Systhr_new, a(param), a(sz)) castto(int)}
-const thr_exit = {state; syscall(Systhr_exit, a(state))}
-const umtx_op = {obj, op, val, a1, a2; -> syscall(Sys_umtx_op, a(obj), a(op), a(val), a(a1), a(a2)) castto(int)}
-const yield = {; -> syscall(Sysyield) castto(int)}
+const thr_new = {param, sz; -> -1}
+const thr_exit = {state; -> void}
+const umtx_op = {obj, op, val, a1, a2; -> -1}
+const yield = {; -> -1}
/* fd manipulation */
const open = {path, opts; -> syscall(Sysopen, cstring(path), a(opts), a(0o777)) castto(fd)}
@@ -844,7 +643,7 @@
const mkdir = {path, mode; -> syscall(Sysmkdir, cstring(path), a(mode)) castto(int64)}
generic ioctl = {fd, req, arg; -> syscall(Sysioctl, a(fd), a(req), a(arg)) castto(int64)
}
-const getdirentries = {fd, buf, basep; -> syscall(Sysgetdirentries, a(fd), buf castto(byte#), a(buf.len), a(basep))}
+const getdirentries = {fd, buf, basep; -> -1}
const chdir = {dir; -> syscall(Syschdir, cstring(dir))}
const __getcwd = {buf; -> syscall(Sys__getcwd, a(buf), a(buf.len))}
@@ -881,7 +680,7 @@
/* system information */
-const uname = {buf; -> syscall(Sysfreebsd4_uname, a(buf)) castto(int)}
+const uname = {buf; -> -1}
const sysctl = {mib, old, new
var mibp
--- a/lib/sys/syscall+openbsd-x64.s
+++ b/lib/sys/syscall+openbsd-x64.s
@@ -6,9 +6,9 @@
load junk values, but if the syscall
doesn't use them, it's going to be
harmless.
- */
+ */
movq %rdi,%rax
- /* 8(%rsp): hidden type arg */
+ /* 8(%rsp): hidden type arg */
movq 16(%rsp),%rdi
movq 24(%rsp),%rsi
movq 32(%rsp),%rdx
--- a/rt/start-openbsd.s
+++ b/rt/start-openbsd.s
@@ -1,15 +1,25 @@
+.section ".note.openbsd.ident", "a"
+ .p2align 2
+ .long 8
+ .long 4
+ .long 1
+ .ascii "OpenBSD\0"
+ .long 0
+ .p2align 2
+
.data
-/* std._environment : byte[:][:] */
+
+/* sys._environment : byte[:][:] */
.globl sys$__environment
sys$__environment:
-.envbase:
-.quad 0 /* env size */
-.envlen:
-.quad 0 /* env ptr */
+ .envbase:
+ .quad 0 /* env size */
+ .envlen:
+ .quad 0 /* env ptr */
.globl sys$__cenvp
sys$__cenvp:
-.quad 0
+ .quad 0
.text
/*
@@ -18,15 +28,18 @@
* - Sets up all argc entries as slices
* - Sets up all envp entries as slices
* - Converts argc/argv to a slice
- * - Stashes envp in std._environment
+ * - Stashes envp in sys._environment
* - Stashes a raw envp copy in __cenvp (for syscalls to use)
* - Calls main()
*/
.globl _start
_start:
+ /* turn args into a slice */
+ movq %rsp,%rbp
+
/* stack allocate sizeof(byte[:])*(argc + len(envp)) */
- movq (%rdi),%rax
- leaq 16(%rdi,%rax,8), %rbx /* argp = argv + 8*argc + 8 */
+ movq (%rbp),%rax
+ leaq 16(%rbp,%rax,8), %rbx /* argp = argv + 8*argc + 8 */
call count
addq %r9,%rax
imulq $16,%rax
@@ -33,10 +46,19 @@
subq %rax,%rsp
movq %rsp, %rdx /* saved args[:] */
- /* convert envp to byte[:][:] for std._environment */
- movq (%rdi),%rax
- leaq 16(%rdi,%rax,8), %rbx /* envp = argv + 8*argc + 8 */
- /* store envp for some syscalls to use without spurious conversion. */
+ /* stack allocate sizeof(byte[:])*(argc + len(envp)) */
+ movq (%rbp),%rax
+ leaq 16(%rbp,%rax,8), %rbx /* argp = argv + 8*argc + 8 */
+ call count
+ addq %r9,%rax
+ imulq $16,%rax
+ subq %rax,%rsp
+ movq %rsp, %rdx /* saved args[:] */
+
+ /* convert envp to byte[:][:] for sys._environment */
+ movq (%rbp),%rax
+ leaq 16(%rbp,%rax,8), %rbx /* envp = argv + 8*argc + 8 */
+ /* store envp for some syscalls to use without converting */
movq %rbx,sys$__cenvp(%rip)
movq %r9,%rax
movq %rsp, %rcx
@@ -44,18 +66,17 @@
movq %rdx,.envbase(%rip)
call cvt
movq %rcx,%rdx
-
+
/* convert argc, argv to byte[:][:] for args. */
- movq (%rdi), %rax /* argc */
- leaq 8(%rdi), %rbx /* argv */
- movq (%rdi), %rsi /* saved argc */
- call cvt
- pushq %rsi
- pushq %rdx
+ movq (%rbp), %rax /* argc */
+ leaq 8(%rbp), %rbx /* argv */
+ movq (%rbp), %rsi /* saved argc */
+ call cvt
+ pushq %rsi
+ pushq %rdx
/* call pre-main initializers */
call __init__
-
/* enter the main program */
call main
/* exit(0) */