• Giles Lean's avatar
    syscall: Create syscall_bsd.go for code used by Darwin and other *BSDs · ad73de2f
    Giles Lean authored
    In this change I'd like to combine the common code that is
    present in syscall_darwin.go and syscall_freebsd.go.  I
    have three reasons for wanting to do this now:
    
    1. reducing code duplication is nearly always good :-)
    2. the duplication will get worse if I duplicate this code
       a third time for the NetBSD port I'm working on, which
       I need to do almost immediately
    3. by making this change all in one lump and ignoring any
       commonality with the syscall_linux*.go files the diff
       is long but, I think, readable
    
    In future it may be possible to cherry pick functions that
    also apply to Linux and put them in (say) syscall_unix.go,
    and of course some functions may diverge in future and have
    to move out to OS or architecture specific files, but today
    I want just the low hanging fruit.
    
    Tested and passed on:
    
      Darwin (Snow Leopard, 10.6): amd64 and 386
      FreeBSD (8.0-RELEASE):       386 only(*)
    
    (*) All my virtualisation software has stopped playing nice
    with FreeBSD for the moment, so I don't have facilities to
    test the amd64 port.  As the OS X port is OK and the diff
    looks all right to my eyes I shall keep my fingers crossed.
    If someone with a FreeBSD/amd64 system cares to test and
    report I would be appreciative.
    
    2010-03-27 update: I have replaced my virtualisation software, and have working FreeBSD/i386 and FreeBSD/amd64 virtual machines again.
    
    As I hoped (and expected -- programmers are optimists :-) the code built and passed all but the two currently known to fail tests on FreeBSD/amd64. I rechecked FreeBSD/i386 too: same results.
    
    R=rsc
    CC=golang-dev
    https://golang.org/cl/751041
    ad73de2f
Name
Last commit
Last update
..
Makefile Loading commit data...
asm_darwin_386.s Loading commit data...
asm_darwin_amd64.s Loading commit data...
asm_freebsd_386.s Loading commit data...
asm_freebsd_amd64.s Loading commit data...
asm_linux_386.s Loading commit data...
asm_linux_amd64.s Loading commit data...
asm_linux_arm.s Loading commit data...
asm_mingw_386.s Loading commit data...
asm_nacl_386.s Loading commit data...
exec.go Loading commit data...
mkall.sh Loading commit data...
mkerrors.sh Loading commit data...
mkerrors_nacl.sh Loading commit data...
mksyscall.sh Loading commit data...
mksyscall_mingw.sh Loading commit data...
mksysnum_darwin.sh Loading commit data...
mksysnum_freebsd.sh Loading commit data...
mksysnum_linux.sh Loading commit data...
mksysnum_nacl.sh Loading commit data...
str.go Loading commit data...
syscall.go Loading commit data...
syscall_386.go Loading commit data...
syscall_amd64.go Loading commit data...
syscall_arm.go Loading commit data...
syscall_bsd.go Loading commit data...
syscall_darwin.go Loading commit data...
syscall_darwin_386.go Loading commit data...
syscall_darwin_amd64.go Loading commit data...
syscall_freebsd.go Loading commit data...
syscall_freebsd_386.go Loading commit data...
syscall_freebsd_amd64.go Loading commit data...
syscall_linux.go Loading commit data...
syscall_linux_386.go Loading commit data...
syscall_linux_amd64.go Loading commit data...
syscall_linux_arm.go Loading commit data...
syscall_mingw.go Loading commit data...
syscall_mingw_386.go Loading commit data...
syscall_nacl.go Loading commit data...
syscall_nacl_386.go Loading commit data...
syscall_unix.go Loading commit data...
types_darwin.c Loading commit data...
types_freebsd.c Loading commit data...
types_linux.c Loading commit data...
types_nacl.c Loading commit data...
zerrors_darwin_386.go Loading commit data...
zerrors_darwin_amd64.go Loading commit data...
zerrors_freebsd_386.go Loading commit data...
zerrors_freebsd_amd64.go Loading commit data...
zerrors_linux_386.go Loading commit data...
zerrors_linux_amd64.go Loading commit data...
zerrors_linux_arm.go Loading commit data...
zerrors_mingw_386.go Loading commit data...
zerrors_nacl_386.go Loading commit data...
zsyscall_darwin_386.go Loading commit data...
zsyscall_darwin_amd64.go Loading commit data...
zsyscall_freebsd_386.go Loading commit data...
zsyscall_freebsd_amd64.go Loading commit data...
zsyscall_linux_386.go Loading commit data...
zsyscall_linux_amd64.go Loading commit data...
zsyscall_linux_arm.go Loading commit data...
zsyscall_mingw_386.go Loading commit data...
zsyscall_nacl_386.go Loading commit data...
zsysnum_darwin_386.go Loading commit data...
zsysnum_darwin_amd64.go Loading commit data...
zsysnum_freebsd_386.go Loading commit data...
zsysnum_freebsd_amd64.go Loading commit data...
zsysnum_linux_386.go Loading commit data...
zsysnum_linux_amd64.go Loading commit data...
zsysnum_linux_arm.go Loading commit data...
zsysnum_mingw_386.go Loading commit data...
zsysnum_nacl_386.go Loading commit data...
ztypes_darwin_386.go Loading commit data...
ztypes_darwin_amd64.go Loading commit data...
ztypes_freebsd_386.go Loading commit data...
ztypes_freebsd_amd64.go Loading commit data...
ztypes_linux_386.go Loading commit data...
ztypes_linux_amd64.go Loading commit data...
ztypes_linux_arm.go Loading commit data...
ztypes_mingw_386.go Loading commit data...
ztypes_nacl.go Loading commit data...
ztypes_nacl_386.go Loading commit data...