shithub: mc

Download patch

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