Commits

Aram Hăvărneanu  committed b4c0444 Merge

merge upstream

  • Participants
  • Parent commits acb9ac0, ca4b7db

Comments (0)

Files changed (109)

 Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de> <sfrithjof@gmail.com>
 Gary Burd <gary@beagledreams.com>
+Gautham Thambidorai <gautham.dorai@gmail.com>
 Georg Reinke <guelfey@gmail.com>
 Gerasimos Dimitriadis <gedimitr@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Nan Deng <monnand@gmail.com>
 Nathan John Youngman <nj@nathany.com>
 ngmoco, LLC
+Nicholas Katsaros <nick@nickkatsaros.com>
 Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Sullivan <nicholas.sullivan@gmail.com>
 Nicholas Waples <nwaples@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
 Ron Minnich <rminnich@gmail.com>
 Ross Light <rlight2@gmail.com>
+Rowan Worth <sqweek@gmail.com>
 Ryan Hitchman <hitchmanr@gmail.com>
 Ryan Slade <ryanslade@gmail.com>
 S.Çağlar Onur <caglar@10ur.org>

File CONTRIBUTORS

 Fumitoshi Ukai <ukai@google.com>
 Gaal Yahas <gaal@google.com>
 Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
+Gautham Thambidorai <gautham.dorai@gmail.com>
 Georg Reinke <guelfey@gmail.com>
 Gerasimos Dimitriadis <gedimitr@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Môshe van der Sterre <moshevds@gmail.com>
 Nan Deng <monnand@gmail.com>
 Nathan John Youngman <nj@nathany.com>
+Nicholas Katsaros <nick@nickkatsaros.com>
 Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Sullivan <nicholas.sullivan@gmail.com>
 Nicholas Waples <nwaples@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
 Ron Minnich <rminnich@gmail.com>
 Ross Light <rlight2@gmail.com>
+Rowan Worth <sqweek@gmail.com>
 Russ Cox <rsc@golang.org>
 Ryan Barrett <ryanb@google.com>
 Ryan Hitchman <hitchmanr@gmail.com>

File api/except.txt

 pkg syscall (darwin-386-cgo), const ImplementsGetwd = false
 pkg syscall (darwin-amd64), const ImplementsGetwd = false
 pkg syscall (darwin-amd64-cgo), const ImplementsGetwd = false
+pkg syscall (openbsd-386), const BIOCGRTIMEOUT = 1074283118
+pkg syscall (openbsd-386), const BIOCSRTIMEOUT = 2148024941
+pkg syscall (openbsd-386), const EMUL_ENABLED = 1
+pkg syscall (openbsd-386), const EMUL_ENABLED ideal-int
+pkg syscall (openbsd-386), const EMUL_NATIVE = 2
+pkg syscall (openbsd-386), const EMUL_NATIVE ideal-int
+pkg syscall (openbsd-386), const IFA_ROUTE = 1
+pkg syscall (openbsd-386), const IFA_ROUTE ideal-int
+pkg syscall (openbsd-386), const IPV6_FAITH = 29
+pkg syscall (openbsd-386), const IPV6_FAITH ideal-int
+pkg syscall (openbsd-386), const IPV6_OPTIONS = 1
+pkg syscall (openbsd-386), const IPV6_OPTIONS ideal-int
+pkg syscall (openbsd-386), const IPV6_RTHDR_STRICT = 1
+pkg syscall (openbsd-386), const IPV6_RTHDR_STRICT ideal-int
+pkg syscall (openbsd-386), const IPV6_SOCKOPT_RESERVED1 = 3
+pkg syscall (openbsd-386), const IPV6_SOCKOPT_RESERVED1 ideal-int
+pkg syscall (openbsd-386), const RTF_FMASK = 63496
+pkg syscall (openbsd-386), const RTM_VERSION = 4
+pkg syscall (openbsd-386), const SIOCBRDGDADDR = 2150132039
+pkg syscall (openbsd-386), const SIOCBRDGGPARAM = 3224922456
+pkg syscall (openbsd-386), const SIOCBRDGSADDR = 3223873860
+pkg syscall (openbsd-386), const SIOCGIFGENERIC = 3223349562
+pkg syscall (openbsd-386), const SIOCGIFGENERIC ideal-int
+pkg syscall (openbsd-386), const SIOCSIFGENERIC = 2149607737
+pkg syscall (openbsd-386), const SIOCSIFGENERIC ideal-int
+pkg syscall (openbsd-386), const SYS_CLOCK_GETRES = 234
+pkg syscall (openbsd-386), const SYS_CLOCK_GETTIME = 232
+pkg syscall (openbsd-386), const SYS_CLOCK_SETTIME = 233
+pkg syscall (openbsd-386), const SYS_FHSTATFS = 309
+pkg syscall (openbsd-386), const SYS_FSTAT = 292
+pkg syscall (openbsd-386), const SYS_FSTATAT = 316
+pkg syscall (openbsd-386), const SYS_FSTATFS = 308
+pkg syscall (openbsd-386), const SYS_FUTIMENS = 327
+pkg syscall (openbsd-386), const SYS_FUTIMES = 206
+pkg syscall (openbsd-386), const SYS_GETDIRENTRIES = 312
+pkg syscall (openbsd-386), const SYS_GETDIRENTRIES ideal-int
+pkg syscall (openbsd-386), const SYS_GETFSSTAT = 306
+pkg syscall (openbsd-386), const SYS_GETITIMER = 86
+pkg syscall (openbsd-386), const SYS_GETRUSAGE = 117
+pkg syscall (openbsd-386), const SYS_GETTIMEOFDAY = 116
+pkg syscall (openbsd-386), const SYS_KEVENT = 270
+pkg syscall (openbsd-386), const SYS_LSTAT = 293
+pkg syscall (openbsd-386), const SYS_NANOSLEEP = 240
+pkg syscall (openbsd-386), const SYS_SELECT = 93
+pkg syscall (openbsd-386), const SYS_SETITIMER = 83
+pkg syscall (openbsd-386), const SYS_SETTIMEOFDAY = 122
+pkg syscall (openbsd-386), const SYS_STAT = 291
+pkg syscall (openbsd-386), const SYS_STATFS = 307
+pkg syscall (openbsd-386), const SYS_UTIMENSAT = 326
+pkg syscall (openbsd-386), const SYS_UTIMES = 138
+pkg syscall (openbsd-386), const SYS_WAIT4 = 7
+pkg syscall (openbsd-386), const SYS___THRSLEEP = 300
+pkg syscall (openbsd-386), const SizeofIfData = 208
+pkg syscall (openbsd-386), const SizeofIfMsghdr = 232
+pkg syscall (openbsd-386), const SizeofRtMetrics = 48
+pkg syscall (openbsd-386), const SizeofRtMsghdr = 88
+pkg syscall (openbsd-386), const TIOCGTSTAMP = 1074295899
+pkg syscall (openbsd-386), type Dirent struct, Fileno uint32
+pkg syscall (openbsd-386), type FdSet struct, Bits [32]int32
+pkg syscall (openbsd-386), type Kevent_t struct, Data int32
+pkg syscall (openbsd-386), type Mclpool struct, Grown uint32
+pkg syscall (openbsd-386), type RtMetrics struct, Expire uint32
+pkg syscall (openbsd-386), type Stat_t struct, Ino uint32
+pkg syscall (openbsd-386), type Stat_t struct, Lspare0 int32
+pkg syscall (openbsd-386), type Stat_t struct, Lspare1 int32
+pkg syscall (openbsd-386), type Stat_t struct, Qspare [2]int64
+pkg syscall (openbsd-386), type Statfs_t struct, F_ctime uint32
+pkg syscall (openbsd-386), type Statfs_t struct, F_spare [3]uint32
+pkg syscall (openbsd-386), type Timespec struct, Sec int32
+pkg syscall (openbsd-386), type Timeval struct, Sec int32
+pkg syscall (openbsd-386-cgo), const BIOCGRTIMEOUT = 1074283118
+pkg syscall (openbsd-386-cgo), const BIOCSRTIMEOUT = 2148024941
+pkg syscall (openbsd-386-cgo), const EMUL_ENABLED = 1
+pkg syscall (openbsd-386-cgo), const EMUL_ENABLED ideal-int
+pkg syscall (openbsd-386-cgo), const EMUL_NATIVE = 2
+pkg syscall (openbsd-386-cgo), const EMUL_NATIVE ideal-int
+pkg syscall (openbsd-386-cgo), const IFA_ROUTE = 1
+pkg syscall (openbsd-386-cgo), const IFA_ROUTE ideal-int
+pkg syscall (openbsd-386-cgo), const IPV6_FAITH = 29
+pkg syscall (openbsd-386-cgo), const IPV6_FAITH ideal-int
+pkg syscall (openbsd-386-cgo), const IPV6_OPTIONS = 1
+pkg syscall (openbsd-386-cgo), const IPV6_OPTIONS ideal-int
+pkg syscall (openbsd-386-cgo), const IPV6_RTHDR_STRICT = 1
+pkg syscall (openbsd-386-cgo), const IPV6_RTHDR_STRICT ideal-int
+pkg syscall (openbsd-386-cgo), const IPV6_SOCKOPT_RESERVED1 = 3
+pkg syscall (openbsd-386-cgo), const IPV6_SOCKOPT_RESERVED1 ideal-int
+pkg syscall (openbsd-386-cgo), const RTF_FMASK = 63496
+pkg syscall (openbsd-386-cgo), const RTM_VERSION = 4
+pkg syscall (openbsd-386-cgo), const SIOCBRDGDADDR = 2150132039
+pkg syscall (openbsd-386-cgo), const SIOCBRDGGPARAM = 3224922456
+pkg syscall (openbsd-386-cgo), const SIOCBRDGSADDR = 3223873860
+pkg syscall (openbsd-386-cgo), const SIOCGIFGENERIC = 3223349562
+pkg syscall (openbsd-386-cgo), const SIOCGIFGENERIC ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCSIFGENERIC = 2149607737
+pkg syscall (openbsd-386-cgo), const SIOCSIFGENERIC ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_GETRES = 234
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_GETTIME = 232
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_SETTIME = 233
+pkg syscall (openbsd-386-cgo), const SYS_FHSTATFS = 309
+pkg syscall (openbsd-386-cgo), const SYS_FSTAT = 292
+pkg syscall (openbsd-386-cgo), const SYS_FSTATAT = 316
+pkg syscall (openbsd-386-cgo), const SYS_FSTATFS = 308
+pkg syscall (openbsd-386-cgo), const SYS_FUTIMENS = 327
+pkg syscall (openbsd-386-cgo), const SYS_FUTIMES = 206
+pkg syscall (openbsd-386-cgo), const SYS_GETDIRENTRIES = 312
+pkg syscall (openbsd-386-cgo), const SYS_GETDIRENTRIES ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_GETFSSTAT = 306
+pkg syscall (openbsd-386-cgo), const SYS_GETITIMER = 86
+pkg syscall (openbsd-386-cgo), const SYS_GETRUSAGE = 117
+pkg syscall (openbsd-386-cgo), const SYS_GETTIMEOFDAY = 116
+pkg syscall (openbsd-386-cgo), const SYS_KEVENT = 270
+pkg syscall (openbsd-386-cgo), const SYS_LSTAT = 293
+pkg syscall (openbsd-386-cgo), const SYS_NANOSLEEP = 240
+pkg syscall (openbsd-386-cgo), const SYS_SELECT = 93
+pkg syscall (openbsd-386-cgo), const SYS_SETITIMER = 83
+pkg syscall (openbsd-386-cgo), const SYS_SETTIMEOFDAY = 122
+pkg syscall (openbsd-386-cgo), const SYS_STAT = 291
+pkg syscall (openbsd-386-cgo), const SYS_STATFS = 307
+pkg syscall (openbsd-386-cgo), const SYS_UTIMENSAT = 326
+pkg syscall (openbsd-386-cgo), const SYS_UTIMES = 138
+pkg syscall (openbsd-386-cgo), const SYS_WAIT4 = 7
+pkg syscall (openbsd-386-cgo), const SYS___THRSLEEP = 300
+pkg syscall (openbsd-386-cgo), const SizeofIfData = 208
+pkg syscall (openbsd-386-cgo), const SizeofIfMsghdr = 232
+pkg syscall (openbsd-386-cgo), const SizeofRtMetrics = 48
+pkg syscall (openbsd-386-cgo), const SizeofRtMsghdr = 88
+pkg syscall (openbsd-386-cgo), const TIOCGTSTAMP = 1074295899
+pkg syscall (openbsd-386-cgo), type Dirent struct, Fileno uint32
+pkg syscall (openbsd-386-cgo), type FdSet struct, Bits [32]int32
+pkg syscall (openbsd-386-cgo), type Kevent_t struct, Data int32
+pkg syscall (openbsd-386-cgo), type Mclpool struct, Grown uint32
+pkg syscall (openbsd-386-cgo), type RtMetrics struct, Expire uint32
+pkg syscall (openbsd-386-cgo), type Stat_t struct, Ino uint32
+pkg syscall (openbsd-386-cgo), type Stat_t struct, Lspare0 int32
+pkg syscall (openbsd-386-cgo), type Stat_t struct, Lspare1 int32
+pkg syscall (openbsd-386-cgo), type Stat_t struct, Qspare [2]int64
+pkg syscall (openbsd-386-cgo), type Statfs_t struct, F_ctime uint32
+pkg syscall (openbsd-386-cgo), type Statfs_t struct, F_spare [3]uint32
+pkg syscall (openbsd-386-cgo), type Timespec struct, Sec int32
+pkg syscall (openbsd-386-cgo), type Timeval struct, Sec int32
+pkg syscall (openbsd-amd64), const CCR0_FLUSH = 16
+pkg syscall (openbsd-amd64), const CCR0_FLUSH ideal-int
+pkg syscall (openbsd-amd64), const CPUID_CFLUSH = 524288
+pkg syscall (openbsd-amd64), const CPUID_CFLUSH ideal-int
+pkg syscall (openbsd-amd64), const EFER_LMA = 1024
+pkg syscall (openbsd-amd64), const EFER_LMA ideal-int
+pkg syscall (openbsd-amd64), const EFER_LME = 256
+pkg syscall (openbsd-amd64), const EFER_LME ideal-int
+pkg syscall (openbsd-amd64), const EFER_NXE = 2048
+pkg syscall (openbsd-amd64), const EFER_NXE ideal-int
+pkg syscall (openbsd-amd64), const EFER_SCE = 1
+pkg syscall (openbsd-amd64), const EFER_SCE ideal-int
+pkg syscall (openbsd-amd64), const EMUL_ENABLED = 1
+pkg syscall (openbsd-amd64), const EMUL_ENABLED ideal-int
+pkg syscall (openbsd-amd64), const EMUL_NATIVE = 2
+pkg syscall (openbsd-amd64), const EMUL_NATIVE ideal-int
+pkg syscall (openbsd-amd64), const IFA_ROUTE = 1
+pkg syscall (openbsd-amd64), const IFA_ROUTE ideal-int
+pkg syscall (openbsd-amd64), const IPV6_FAITH = 29
+pkg syscall (openbsd-amd64), const IPV6_FAITH ideal-int
+pkg syscall (openbsd-amd64), const IPV6_OPTIONS = 1
+pkg syscall (openbsd-amd64), const IPV6_OPTIONS ideal-int
+pkg syscall (openbsd-amd64), const IPV6_RTHDR_STRICT = 1
+pkg syscall (openbsd-amd64), const IPV6_RTHDR_STRICT ideal-int
+pkg syscall (openbsd-amd64), const IPV6_SOCKOPT_RESERVED1 = 3
+pkg syscall (openbsd-amd64), const IPV6_SOCKOPT_RESERVED1 ideal-int
+pkg syscall (openbsd-amd64), const PMC5_PIPELINE_FLUSH = 21
+pkg syscall (openbsd-amd64), const PMC5_PIPELINE_FLUSH ideal-int
+pkg syscall (openbsd-amd64), const RTF_FMASK = 63496
+pkg syscall (openbsd-amd64), const RTM_VERSION = 4
+pkg syscall (openbsd-amd64), const SIOCBRDGDADDR = 2150132039
+pkg syscall (openbsd-amd64), const SIOCBRDGSADDR = 3223873860
+pkg syscall (openbsd-amd64), const SIOCGIFGENERIC = 3223349562
+pkg syscall (openbsd-amd64), const SIOCGIFGENERIC ideal-int
+pkg syscall (openbsd-amd64), const SIOCSIFGENERIC = 2149607737
+pkg syscall (openbsd-amd64), const SIOCSIFGENERIC ideal-int
+pkg syscall (openbsd-amd64), const SYS_CLOCK_GETRES = 234
+pkg syscall (openbsd-amd64), const SYS_CLOCK_GETTIME = 232
+pkg syscall (openbsd-amd64), const SYS_CLOCK_SETTIME = 233
+pkg syscall (openbsd-amd64), const SYS_FHSTATFS = 309
+pkg syscall (openbsd-amd64), const SYS_FSTAT = 292
+pkg syscall (openbsd-amd64), const SYS_FSTATAT = 316
+pkg syscall (openbsd-amd64), const SYS_FSTATFS = 308
+pkg syscall (openbsd-amd64), const SYS_FUTIMENS = 327
+pkg syscall (openbsd-amd64), const SYS_FUTIMES = 206
+pkg syscall (openbsd-amd64), const SYS_GETDIRENTRIES = 312
+pkg syscall (openbsd-amd64), const SYS_GETDIRENTRIES ideal-int
+pkg syscall (openbsd-amd64), const SYS_GETFSSTAT = 306
+pkg syscall (openbsd-amd64), const SYS_GETITIMER = 86
+pkg syscall (openbsd-amd64), const SYS_GETRUSAGE = 117
+pkg syscall (openbsd-amd64), const SYS_GETTIMEOFDAY = 116
+pkg syscall (openbsd-amd64), const SYS_KEVENT = 270
+pkg syscall (openbsd-amd64), const SYS_LSTAT = 293
+pkg syscall (openbsd-amd64), const SYS_NANOSLEEP = 240
+pkg syscall (openbsd-amd64), const SYS_SELECT = 93
+pkg syscall (openbsd-amd64), const SYS_SETITIMER = 83
+pkg syscall (openbsd-amd64), const SYS_SETTIMEOFDAY = 122
+pkg syscall (openbsd-amd64), const SYS_STAT = 291
+pkg syscall (openbsd-amd64), const SYS_STATFS = 307
+pkg syscall (openbsd-amd64), const SYS_UTIMENSAT = 326
+pkg syscall (openbsd-amd64), const SYS_UTIMES = 138
+pkg syscall (openbsd-amd64), const SYS_WAIT4 = 7
+pkg syscall (openbsd-amd64), const SYS___THRSLEEP = 300
+pkg syscall (openbsd-amd64), const SizeofRtMetrics = 48
+pkg syscall (openbsd-amd64), const SizeofRtMsghdr = 88
+pkg syscall (openbsd-amd64), type Dirent struct, Fileno uint32
+pkg syscall (openbsd-amd64), type FdSet struct, Bits [32]int32
+pkg syscall (openbsd-amd64), type Kevent_t struct, Data int32
+pkg syscall (openbsd-amd64), type Kevent_t struct, Ident uint32
+pkg syscall (openbsd-amd64), type Mclpool struct, Grown uint32
+pkg syscall (openbsd-amd64), type RtMetrics struct, Expire uint32
+pkg syscall (openbsd-amd64), type Stat_t struct, Ino uint32
+pkg syscall (openbsd-amd64), type Stat_t struct, Lspare0 int32
+pkg syscall (openbsd-amd64), type Stat_t struct, Lspare1 int32
+pkg syscall (openbsd-amd64), type Stat_t struct, Qspare [2]int64
+pkg syscall (openbsd-amd64), type Statfs_t struct, F_ctime uint32
+pkg syscall (openbsd-amd64), type Statfs_t struct, F_spare [3]uint32
+pkg syscall (openbsd-amd64), type Statfs_t struct, Pad_cgo_1 [4]uint8
+pkg syscall (openbsd-amd64), type Timespec struct, Pad_cgo_0 [4]uint8
+pkg syscall (openbsd-amd64), type Timespec struct, Sec int32
+pkg syscall (openbsd-amd64-cgo), const CCR0_FLUSH = 16
+pkg syscall (openbsd-amd64-cgo), const CCR0_FLUSH ideal-int
+pkg syscall (openbsd-amd64-cgo), const CPUID_CFLUSH = 524288
+pkg syscall (openbsd-amd64-cgo), const CPUID_CFLUSH ideal-int
+pkg syscall (openbsd-amd64-cgo), const EFER_LMA = 1024
+pkg syscall (openbsd-amd64-cgo), const EFER_LMA ideal-int
+pkg syscall (openbsd-amd64-cgo), const EFER_LME = 256
+pkg syscall (openbsd-amd64-cgo), const EFER_LME ideal-int
+pkg syscall (openbsd-amd64-cgo), const EFER_NXE = 2048
+pkg syscall (openbsd-amd64-cgo), const EFER_NXE ideal-int
+pkg syscall (openbsd-amd64-cgo), const EFER_SCE = 1
+pkg syscall (openbsd-amd64-cgo), const EFER_SCE ideal-int
+pkg syscall (openbsd-amd64-cgo), const EMUL_ENABLED = 1
+pkg syscall (openbsd-amd64-cgo), const EMUL_ENABLED ideal-int
+pkg syscall (openbsd-amd64-cgo), const EMUL_NATIVE = 2
+pkg syscall (openbsd-amd64-cgo), const EMUL_NATIVE ideal-int
+pkg syscall (openbsd-amd64-cgo), const IFA_ROUTE = 1
+pkg syscall (openbsd-amd64-cgo), const IFA_ROUTE ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPV6_FAITH = 29
+pkg syscall (openbsd-amd64-cgo), const IPV6_FAITH ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPV6_OPTIONS = 1
+pkg syscall (openbsd-amd64-cgo), const IPV6_OPTIONS ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPV6_RTHDR_STRICT = 1
+pkg syscall (openbsd-amd64-cgo), const IPV6_RTHDR_STRICT ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPV6_SOCKOPT_RESERVED1 = 3
+pkg syscall (openbsd-amd64-cgo), const IPV6_SOCKOPT_RESERVED1 ideal-int
+pkg syscall (openbsd-amd64-cgo), const PMC5_PIPELINE_FLUSH = 21
+pkg syscall (openbsd-amd64-cgo), const PMC5_PIPELINE_FLUSH ideal-int
+pkg syscall (openbsd-amd64-cgo), const RTF_FMASK = 63496
+pkg syscall (openbsd-amd64-cgo), const RTM_VERSION = 4
+pkg syscall (openbsd-amd64-cgo), const SIOCBRDGDADDR = 2150132039
+pkg syscall (openbsd-amd64-cgo), const SIOCBRDGSADDR = 3223873860
+pkg syscall (openbsd-amd64-cgo), const SIOCGIFGENERIC = 3223349562
+pkg syscall (openbsd-amd64-cgo), const SIOCGIFGENERIC ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCSIFGENERIC = 2149607737
+pkg syscall (openbsd-amd64-cgo), const SIOCSIFGENERIC ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_GETRES = 234
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_GETTIME = 232
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_SETTIME = 233
+pkg syscall (openbsd-amd64-cgo), const SYS_FHSTATFS = 309
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTAT = 292
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTATAT = 316
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTATFS = 308
+pkg syscall (openbsd-amd64-cgo), const SYS_FUTIMENS = 327
+pkg syscall (openbsd-amd64-cgo), const SYS_FUTIMES = 206
+pkg syscall (openbsd-amd64-cgo), const SYS_GETDIRENTRIES = 312
+pkg syscall (openbsd-amd64-cgo), const SYS_GETDIRENTRIES ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_GETFSSTAT = 306
+pkg syscall (openbsd-amd64-cgo), const SYS_GETITIMER = 86
+pkg syscall (openbsd-amd64-cgo), const SYS_GETRUSAGE = 117
+pkg syscall (openbsd-amd64-cgo), const SYS_GETTIMEOFDAY = 116
+pkg syscall (openbsd-amd64-cgo), const SYS_KEVENT = 270
+pkg syscall (openbsd-amd64-cgo), const SYS_LSTAT = 293
+pkg syscall (openbsd-amd64-cgo), const SYS_NANOSLEEP = 240
+pkg syscall (openbsd-amd64-cgo), const SYS_SELECT = 93
+pkg syscall (openbsd-amd64-cgo), const SYS_SETITIMER = 83
+pkg syscall (openbsd-amd64-cgo), const SYS_SETTIMEOFDAY = 122
+pkg syscall (openbsd-amd64-cgo), const SYS_STAT = 291
+pkg syscall (openbsd-amd64-cgo), const SYS_STATFS = 307
+pkg syscall (openbsd-amd64-cgo), const SYS_UTIMENSAT = 326
+pkg syscall (openbsd-amd64-cgo), const SYS_UTIMES = 138
+pkg syscall (openbsd-amd64-cgo), const SYS_WAIT4 = 7
+pkg syscall (openbsd-amd64-cgo), const SYS___THRSLEEP = 300
+pkg syscall (openbsd-amd64-cgo), const SizeofRtMetrics = 48
+pkg syscall (openbsd-amd64-cgo), const SizeofRtMsghdr = 88
+pkg syscall (openbsd-amd64-cgo), type Dirent struct, Fileno uint32
+pkg syscall (openbsd-amd64-cgo), type FdSet struct, Bits [32]int32
+pkg syscall (openbsd-amd64-cgo), type Kevent_t struct, Data int32
+pkg syscall (openbsd-amd64-cgo), type Kevent_t struct, Ident uint32
+pkg syscall (openbsd-amd64-cgo), type Mclpool struct, Grown uint32
+pkg syscall (openbsd-amd64-cgo), type RtMetrics struct, Expire uint32
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Ino uint32
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Lspare0 int32
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Lspare1 int32
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Qspare [2]int64
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, F_ctime uint32
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, F_spare [3]uint32
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, Pad_cgo_1 [4]uint8
+pkg syscall (openbsd-amd64-cgo), type Timespec struct, Pad_cgo_0 [4]uint8
+pkg syscall (openbsd-amd64-cgo), type Timespec struct, Sec int32

File api/next.txt

 pkg debug/goobj, const SXREF = 24
 pkg debug/goobj, const SXREF SymKind
 pkg debug/goobj, func Parse(io.ReadSeeker, string) (*Package, error)
+pkg debug/goobj, method (Sym) String() string
+pkg debug/goobj, method (SymID) String() string
+pkg debug/goobj, method (SymKind) String() string
 pkg debug/goobj, type Data struct
 pkg debug/goobj, type Data struct, Offset int64
 pkg debug/goobj, type Data struct, Size int64
 pkg debug/goobj, type Var struct, Name string
 pkg debug/goobj, type Var struct, Offset int
 pkg debug/goobj, type Var struct, Type SymID
+pkg sync, method (*Pool) Get() interface{}
+pkg sync, method (*Pool) Put(interface{})
+pkg sync, type Pool struct
+pkg sync, type Pool struct, New func() interface{}
+pkg syscall (netbsd-386), const CLONE_CSIGNAL = 255
+pkg syscall (netbsd-386), const CLONE_CSIGNAL ideal-int
+pkg syscall (netbsd-386), const CLONE_FILES = 1024
+pkg syscall (netbsd-386), const CLONE_FILES ideal-int
+pkg syscall (netbsd-386), const CLONE_FS = 512
+pkg syscall (netbsd-386), const CLONE_FS ideal-int
+pkg syscall (netbsd-386), const CLONE_PID = 4096
+pkg syscall (netbsd-386), const CLONE_PID ideal-int
+pkg syscall (netbsd-386), const CLONE_PTRACE = 8192
+pkg syscall (netbsd-386), const CLONE_PTRACE ideal-int
+pkg syscall (netbsd-386), const CLONE_SIGHAND = 2048
+pkg syscall (netbsd-386), const CLONE_SIGHAND ideal-int
+pkg syscall (netbsd-386), const CLONE_VFORK = 16384
+pkg syscall (netbsd-386), const CLONE_VFORK ideal-int
+pkg syscall (netbsd-386), const CLONE_VM = 256
+pkg syscall (netbsd-386), const CLONE_VM ideal-int
+pkg syscall (netbsd-386), const MADV_DONTNEED = 4
+pkg syscall (netbsd-386), const MADV_DONTNEED ideal-int
+pkg syscall (netbsd-386), const MADV_FREE = 6
+pkg syscall (netbsd-386), const MADV_FREE ideal-int
+pkg syscall (netbsd-386), const MADV_NORMAL = 0
+pkg syscall (netbsd-386), const MADV_NORMAL ideal-int
+pkg syscall (netbsd-386), const MADV_RANDOM = 1
+pkg syscall (netbsd-386), const MADV_RANDOM ideal-int
+pkg syscall (netbsd-386), const MADV_SEQUENTIAL = 2
+pkg syscall (netbsd-386), const MADV_SEQUENTIAL ideal-int
+pkg syscall (netbsd-386), const MADV_SPACEAVAIL = 5
+pkg syscall (netbsd-386), const MADV_SPACEAVAIL ideal-int
+pkg syscall (netbsd-386), const MADV_WILLNEED = 3
+pkg syscall (netbsd-386), const MADV_WILLNEED ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_16MB = 402653184
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_16MB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_1TB = 671088640
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_1TB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_256TB = 805306368
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_256TB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_4GB = 536870912
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_4GB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_64KB = 268435456
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_64KB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_64PB = 939524096
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_64PB ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_MASK = -16777216
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_MASK ideal-int
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_SHIFT = 24
+pkg syscall (netbsd-386), const MAP_ALIGNMENT_SHIFT ideal-int
+pkg syscall (netbsd-386), const MAP_ANON = 4096
+pkg syscall (netbsd-386), const MAP_ANON ideal-int
+pkg syscall (netbsd-386), const MAP_FILE = 0
+pkg syscall (netbsd-386), const MAP_FILE ideal-int
+pkg syscall (netbsd-386), const MAP_FIXED = 16
+pkg syscall (netbsd-386), const MAP_FIXED ideal-int
+pkg syscall (netbsd-386), const MAP_HASSEMAPHORE = 512
+pkg syscall (netbsd-386), const MAP_HASSEMAPHORE ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT = 128
+pkg syscall (netbsd-386), const MAP_INHERIT ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT_COPY = 1
+pkg syscall (netbsd-386), const MAP_INHERIT_COPY ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT_DEFAULT = 1
+pkg syscall (netbsd-386), const MAP_INHERIT_DEFAULT ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT_DONATE_COPY = 3
+pkg syscall (netbsd-386), const MAP_INHERIT_DONATE_COPY ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT_NONE = 2
+pkg syscall (netbsd-386), const MAP_INHERIT_NONE ideal-int
+pkg syscall (netbsd-386), const MAP_INHERIT_SHARE = 0
+pkg syscall (netbsd-386), const MAP_INHERIT_SHARE ideal-int
+pkg syscall (netbsd-386), const MAP_NORESERVE = 64
+pkg syscall (netbsd-386), const MAP_NORESERVE ideal-int
+pkg syscall (netbsd-386), const MAP_PRIVATE = 2
+pkg syscall (netbsd-386), const MAP_PRIVATE ideal-int
+pkg syscall (netbsd-386), const MAP_RENAME = 32
+pkg syscall (netbsd-386), const MAP_RENAME ideal-int
+pkg syscall (netbsd-386), const MAP_SHARED = 1
+pkg syscall (netbsd-386), const MAP_SHARED ideal-int
+pkg syscall (netbsd-386), const MAP_STACK = 8192
+pkg syscall (netbsd-386), const MAP_STACK ideal-int
+pkg syscall (netbsd-386), const MAP_TRYFIXED = 1024
+pkg syscall (netbsd-386), const MAP_TRYFIXED ideal-int
+pkg syscall (netbsd-386), const MAP_WIRED = 2048
+pkg syscall (netbsd-386), const MAP_WIRED ideal-int
+pkg syscall (netbsd-386), const MCL_CURRENT = 1
+pkg syscall (netbsd-386), const MCL_CURRENT ideal-int
+pkg syscall (netbsd-386), const MCL_FUTURE = 2
+pkg syscall (netbsd-386), const MCL_FUTURE ideal-int
+pkg syscall (netbsd-386), const MS_ASYNC = 1
+pkg syscall (netbsd-386), const MS_ASYNC ideal-int
+pkg syscall (netbsd-386), const MS_INVALIDATE = 2
+pkg syscall (netbsd-386), const MS_INVALIDATE ideal-int
+pkg syscall (netbsd-386), const MS_SYNC = 4
+pkg syscall (netbsd-386), const MS_SYNC ideal-int
+pkg syscall (netbsd-386), const PROT_EXEC = 4
+pkg syscall (netbsd-386), const PROT_EXEC ideal-int
+pkg syscall (netbsd-386), const PROT_NONE = 0
+pkg syscall (netbsd-386), const PROT_NONE ideal-int
+pkg syscall (netbsd-386), const PROT_READ = 1
+pkg syscall (netbsd-386), const PROT_READ ideal-int
+pkg syscall (netbsd-386), const PROT_WRITE = 2
+pkg syscall (netbsd-386), const PROT_WRITE ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_CSIGNAL = 255
+pkg syscall (netbsd-386-cgo), const CLONE_CSIGNAL ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_FILES = 1024
+pkg syscall (netbsd-386-cgo), const CLONE_FILES ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_FS = 512
+pkg syscall (netbsd-386-cgo), const CLONE_FS ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_PID = 4096
+pkg syscall (netbsd-386-cgo), const CLONE_PID ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_PTRACE = 8192
+pkg syscall (netbsd-386-cgo), const CLONE_PTRACE ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_SIGHAND = 2048
+pkg syscall (netbsd-386-cgo), const CLONE_SIGHAND ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_VFORK = 16384
+pkg syscall (netbsd-386-cgo), const CLONE_VFORK ideal-int
+pkg syscall (netbsd-386-cgo), const CLONE_VM = 256
+pkg syscall (netbsd-386-cgo), const CLONE_VM ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_DONTNEED = 4
+pkg syscall (netbsd-386-cgo), const MADV_DONTNEED ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_FREE = 6
+pkg syscall (netbsd-386-cgo), const MADV_FREE ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_NORMAL = 0
+pkg syscall (netbsd-386-cgo), const MADV_NORMAL ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_RANDOM = 1
+pkg syscall (netbsd-386-cgo), const MADV_RANDOM ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_SEQUENTIAL = 2
+pkg syscall (netbsd-386-cgo), const MADV_SEQUENTIAL ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_SPACEAVAIL = 5
+pkg syscall (netbsd-386-cgo), const MADV_SPACEAVAIL ideal-int
+pkg syscall (netbsd-386-cgo), const MADV_WILLNEED = 3
+pkg syscall (netbsd-386-cgo), const MADV_WILLNEED ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_16MB = 402653184
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_16MB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_1TB = 671088640
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_1TB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_256TB = 805306368
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_256TB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_4GB = 536870912
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_4GB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_64KB = 268435456
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_64KB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_64PB = 939524096
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_64PB ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_MASK = -16777216
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_MASK ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_SHIFT = 24
+pkg syscall (netbsd-386-cgo), const MAP_ALIGNMENT_SHIFT ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_ANON = 4096
+pkg syscall (netbsd-386-cgo), const MAP_ANON ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_FILE = 0
+pkg syscall (netbsd-386-cgo), const MAP_FILE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_FIXED = 16
+pkg syscall (netbsd-386-cgo), const MAP_FIXED ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_HASSEMAPHORE = 512
+pkg syscall (netbsd-386-cgo), const MAP_HASSEMAPHORE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT = 128
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_COPY = 1
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_COPY ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_DEFAULT = 1
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_DEFAULT ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_DONATE_COPY = 3
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_DONATE_COPY ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_NONE = 2
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_NONE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_SHARE = 0
+pkg syscall (netbsd-386-cgo), const MAP_INHERIT_SHARE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_NORESERVE = 64
+pkg syscall (netbsd-386-cgo), const MAP_NORESERVE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_PRIVATE = 2
+pkg syscall (netbsd-386-cgo), const MAP_PRIVATE ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_RENAME = 32
+pkg syscall (netbsd-386-cgo), const MAP_RENAME ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_SHARED = 1
+pkg syscall (netbsd-386-cgo), const MAP_SHARED ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_STACK = 8192
+pkg syscall (netbsd-386-cgo), const MAP_STACK ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_TRYFIXED = 1024
+pkg syscall (netbsd-386-cgo), const MAP_TRYFIXED ideal-int
+pkg syscall (netbsd-386-cgo), const MAP_WIRED = 2048
+pkg syscall (netbsd-386-cgo), const MAP_WIRED ideal-int
+pkg syscall (netbsd-386-cgo), const MCL_CURRENT = 1
+pkg syscall (netbsd-386-cgo), const MCL_CURRENT ideal-int
+pkg syscall (netbsd-386-cgo), const MCL_FUTURE = 2
+pkg syscall (netbsd-386-cgo), const MCL_FUTURE ideal-int
+pkg syscall (netbsd-386-cgo), const MS_ASYNC = 1
+pkg syscall (netbsd-386-cgo), const MS_ASYNC ideal-int
+pkg syscall (netbsd-386-cgo), const MS_INVALIDATE = 2
+pkg syscall (netbsd-386-cgo), const MS_INVALIDATE ideal-int
+pkg syscall (netbsd-386-cgo), const MS_SYNC = 4
+pkg syscall (netbsd-386-cgo), const MS_SYNC ideal-int
+pkg syscall (netbsd-386-cgo), const PROT_EXEC = 4
+pkg syscall (netbsd-386-cgo), const PROT_EXEC ideal-int
+pkg syscall (netbsd-386-cgo), const PROT_NONE = 0
+pkg syscall (netbsd-386-cgo), const PROT_NONE ideal-int
+pkg syscall (netbsd-386-cgo), const PROT_READ = 1
+pkg syscall (netbsd-386-cgo), const PROT_READ ideal-int
+pkg syscall (netbsd-386-cgo), const PROT_WRITE = 2
+pkg syscall (netbsd-386-cgo), const PROT_WRITE ideal-int
+pkg syscall (netbsd-amd64), const CLONE_CSIGNAL = 255
+pkg syscall (netbsd-amd64), const CLONE_CSIGNAL ideal-int
+pkg syscall (netbsd-amd64), const CLONE_FILES = 1024
+pkg syscall (netbsd-amd64), const CLONE_FILES ideal-int
+pkg syscall (netbsd-amd64), const CLONE_FS = 512
+pkg syscall (netbsd-amd64), const CLONE_FS ideal-int
+pkg syscall (netbsd-amd64), const CLONE_PID = 4096
+pkg syscall (netbsd-amd64), const CLONE_PID ideal-int
+pkg syscall (netbsd-amd64), const CLONE_PTRACE = 8192
+pkg syscall (netbsd-amd64), const CLONE_PTRACE ideal-int
+pkg syscall (netbsd-amd64), const CLONE_SIGHAND = 2048
+pkg syscall (netbsd-amd64), const CLONE_SIGHAND ideal-int
+pkg syscall (netbsd-amd64), const CLONE_VFORK = 16384
+pkg syscall (netbsd-amd64), const CLONE_VFORK ideal-int
+pkg syscall (netbsd-amd64), const CLONE_VM = 256
+pkg syscall (netbsd-amd64), const CLONE_VM ideal-int
+pkg syscall (netbsd-amd64), const MADV_DONTNEED = 4
+pkg syscall (netbsd-amd64), const MADV_DONTNEED ideal-int
+pkg syscall (netbsd-amd64), const MADV_FREE = 6
+pkg syscall (netbsd-amd64), const MADV_FREE ideal-int
+pkg syscall (netbsd-amd64), const MADV_NORMAL = 0
+pkg syscall (netbsd-amd64), const MADV_NORMAL ideal-int
+pkg syscall (netbsd-amd64), const MADV_RANDOM = 1
+pkg syscall (netbsd-amd64), const MADV_RANDOM ideal-int
+pkg syscall (netbsd-amd64), const MADV_SEQUENTIAL = 2
+pkg syscall (netbsd-amd64), const MADV_SEQUENTIAL ideal-int
+pkg syscall (netbsd-amd64), const MADV_SPACEAVAIL = 5
+pkg syscall (netbsd-amd64), const MADV_SPACEAVAIL ideal-int
+pkg syscall (netbsd-amd64), const MADV_WILLNEED = 3
+pkg syscall (netbsd-amd64), const MADV_WILLNEED ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_16MB = 402653184
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_16MB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_1TB = 671088640
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_1TB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_256TB = 805306368
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_256TB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_4GB = 536870912
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_4GB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_64KB = 268435456
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_64KB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_64PB = 939524096
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_64PB ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_MASK = -16777216
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_MASK ideal-int
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_SHIFT = 24
+pkg syscall (netbsd-amd64), const MAP_ALIGNMENT_SHIFT ideal-int
+pkg syscall (netbsd-amd64), const MAP_ANON = 4096
+pkg syscall (netbsd-amd64), const MAP_ANON ideal-int
+pkg syscall (netbsd-amd64), const MAP_FILE = 0
+pkg syscall (netbsd-amd64), const MAP_FILE ideal-int
+pkg syscall (netbsd-amd64), const MAP_FIXED = 16
+pkg syscall (netbsd-amd64), const MAP_FIXED ideal-int
+pkg syscall (netbsd-amd64), const MAP_HASSEMAPHORE = 512
+pkg syscall (netbsd-amd64), const MAP_HASSEMAPHORE ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT = 128
+pkg syscall (netbsd-amd64), const MAP_INHERIT ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT_COPY = 1
+pkg syscall (netbsd-amd64), const MAP_INHERIT_COPY ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT_DEFAULT = 1
+pkg syscall (netbsd-amd64), const MAP_INHERIT_DEFAULT ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT_DONATE_COPY = 3
+pkg syscall (netbsd-amd64), const MAP_INHERIT_DONATE_COPY ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT_NONE = 2
+pkg syscall (netbsd-amd64), const MAP_INHERIT_NONE ideal-int
+pkg syscall (netbsd-amd64), const MAP_INHERIT_SHARE = 0
+pkg syscall (netbsd-amd64), const MAP_INHERIT_SHARE ideal-int
+pkg syscall (netbsd-amd64), const MAP_NORESERVE = 64
+pkg syscall (netbsd-amd64), const MAP_NORESERVE ideal-int
+pkg syscall (netbsd-amd64), const MAP_PRIVATE = 2
+pkg syscall (netbsd-amd64), const MAP_PRIVATE ideal-int
+pkg syscall (netbsd-amd64), const MAP_RENAME = 32
+pkg syscall (netbsd-amd64), const MAP_RENAME ideal-int
+pkg syscall (netbsd-amd64), const MAP_SHARED = 1
+pkg syscall (netbsd-amd64), const MAP_SHARED ideal-int
+pkg syscall (netbsd-amd64), const MAP_STACK = 8192
+pkg syscall (netbsd-amd64), const MAP_STACK ideal-int
+pkg syscall (netbsd-amd64), const MAP_TRYFIXED = 1024
+pkg syscall (netbsd-amd64), const MAP_TRYFIXED ideal-int
+pkg syscall (netbsd-amd64), const MAP_WIRED = 2048
+pkg syscall (netbsd-amd64), const MAP_WIRED ideal-int
+pkg syscall (netbsd-amd64), const MCL_CURRENT = 1
+pkg syscall (netbsd-amd64), const MCL_CURRENT ideal-int
+pkg syscall (netbsd-amd64), const MCL_FUTURE = 2
+pkg syscall (netbsd-amd64), const MCL_FUTURE ideal-int
+pkg syscall (netbsd-amd64), const MS_ASYNC = 1
+pkg syscall (netbsd-amd64), const MS_ASYNC ideal-int
+pkg syscall (netbsd-amd64), const MS_INVALIDATE = 2
+pkg syscall (netbsd-amd64), const MS_INVALIDATE ideal-int
+pkg syscall (netbsd-amd64), const MS_SYNC = 4
+pkg syscall (netbsd-amd64), const MS_SYNC ideal-int
+pkg syscall (netbsd-amd64), const PROT_EXEC = 4
+pkg syscall (netbsd-amd64), const PROT_EXEC ideal-int
+pkg syscall (netbsd-amd64), const PROT_NONE = 0
+pkg syscall (netbsd-amd64), const PROT_NONE ideal-int
+pkg syscall (netbsd-amd64), const PROT_READ = 1
+pkg syscall (netbsd-amd64), const PROT_READ ideal-int
+pkg syscall (netbsd-amd64), const PROT_WRITE = 2
+pkg syscall (netbsd-amd64), const PROT_WRITE ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_CSIGNAL = 255
+pkg syscall (netbsd-amd64-cgo), const CLONE_CSIGNAL ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_FILES = 1024
+pkg syscall (netbsd-amd64-cgo), const CLONE_FILES ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_FS = 512
+pkg syscall (netbsd-amd64-cgo), const CLONE_FS ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_PID = 4096
+pkg syscall (netbsd-amd64-cgo), const CLONE_PID ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_PTRACE = 8192
+pkg syscall (netbsd-amd64-cgo), const CLONE_PTRACE ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_SIGHAND = 2048
+pkg syscall (netbsd-amd64-cgo), const CLONE_SIGHAND ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_VFORK = 16384
+pkg syscall (netbsd-amd64-cgo), const CLONE_VFORK ideal-int
+pkg syscall (netbsd-amd64-cgo), const CLONE_VM = 256
+pkg syscall (netbsd-amd64-cgo), const CLONE_VM ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_DONTNEED = 4
+pkg syscall (netbsd-amd64-cgo), const MADV_DONTNEED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_FREE = 6
+pkg syscall (netbsd-amd64-cgo), const MADV_FREE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_NORMAL = 0
+pkg syscall (netbsd-amd64-cgo), const MADV_NORMAL ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_RANDOM = 1
+pkg syscall (netbsd-amd64-cgo), const MADV_RANDOM ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_SEQUENTIAL = 2
+pkg syscall (netbsd-amd64-cgo), const MADV_SEQUENTIAL ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_SPACEAVAIL = 5
+pkg syscall (netbsd-amd64-cgo), const MADV_SPACEAVAIL ideal-int
+pkg syscall (netbsd-amd64-cgo), const MADV_WILLNEED = 3
+pkg syscall (netbsd-amd64-cgo), const MADV_WILLNEED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_16MB = 402653184
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_16MB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_1TB = 671088640
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_1TB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_256TB = 805306368
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_256TB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_4GB = 536870912
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_4GB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_64KB = 268435456
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_64KB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_64PB = 939524096
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_64PB ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_MASK = -16777216
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_MASK ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_SHIFT = 24
+pkg syscall (netbsd-amd64-cgo), const MAP_ALIGNMENT_SHIFT ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_ANON = 4096
+pkg syscall (netbsd-amd64-cgo), const MAP_ANON ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_FILE = 0
+pkg syscall (netbsd-amd64-cgo), const MAP_FILE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_FIXED = 16
+pkg syscall (netbsd-amd64-cgo), const MAP_FIXED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_HASSEMAPHORE = 512
+pkg syscall (netbsd-amd64-cgo), const MAP_HASSEMAPHORE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT = 128
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_COPY = 1
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_COPY ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_DEFAULT = 1
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_DEFAULT ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_DONATE_COPY = 3
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_DONATE_COPY ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_NONE = 2
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_NONE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_SHARE = 0
+pkg syscall (netbsd-amd64-cgo), const MAP_INHERIT_SHARE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_NORESERVE = 64
+pkg syscall (netbsd-amd64-cgo), const MAP_NORESERVE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_PRIVATE = 2
+pkg syscall (netbsd-amd64-cgo), const MAP_PRIVATE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_RENAME = 32
+pkg syscall (netbsd-amd64-cgo), const MAP_RENAME ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_SHARED = 1
+pkg syscall (netbsd-amd64-cgo), const MAP_SHARED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_STACK = 8192
+pkg syscall (netbsd-amd64-cgo), const MAP_STACK ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_TRYFIXED = 1024
+pkg syscall (netbsd-amd64-cgo), const MAP_TRYFIXED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MAP_WIRED = 2048
+pkg syscall (netbsd-amd64-cgo), const MAP_WIRED ideal-int
+pkg syscall (netbsd-amd64-cgo), const MCL_CURRENT = 1
+pkg syscall (netbsd-amd64-cgo), const MCL_CURRENT ideal-int
+pkg syscall (netbsd-amd64-cgo), const MCL_FUTURE = 2
+pkg syscall (netbsd-amd64-cgo), const MCL_FUTURE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MS_ASYNC = 1
+pkg syscall (netbsd-amd64-cgo), const MS_ASYNC ideal-int
+pkg syscall (netbsd-amd64-cgo), const MS_INVALIDATE = 2
+pkg syscall (netbsd-amd64-cgo), const MS_INVALIDATE ideal-int
+pkg syscall (netbsd-amd64-cgo), const MS_SYNC = 4
+pkg syscall (netbsd-amd64-cgo), const MS_SYNC ideal-int
+pkg syscall (netbsd-amd64-cgo), const PROT_EXEC = 4
+pkg syscall (netbsd-amd64-cgo), const PROT_EXEC ideal-int
+pkg syscall (netbsd-amd64-cgo), const PROT_NONE = 0
+pkg syscall (netbsd-amd64-cgo), const PROT_NONE ideal-int
+pkg syscall (netbsd-amd64-cgo), const PROT_READ = 1
+pkg syscall (netbsd-amd64-cgo), const PROT_READ ideal-int
+pkg syscall (netbsd-amd64-cgo), const PROT_WRITE = 2
+pkg syscall (netbsd-amd64-cgo), const PROT_WRITE ideal-int
+pkg syscall (windows-386), func NewCallbackCDecl(interface{}) uintptr
+pkg syscall (windows-amd64), func NewCallbackCDecl(interface{}) uintptr
+pkg syscall (openbsd-386), const BIOCGRTIMEOUT = 1074545262
+pkg syscall (openbsd-386), const BIOCSRTIMEOUT = 2148287085
+pkg syscall (openbsd-386), const IPPROTO_DIVERT_INIT = 2
+pkg syscall (openbsd-386), const IPPROTO_DIVERT_INIT ideal-int
+pkg syscall (openbsd-386), const IPPROTO_DIVERT_RESP = 1
+pkg syscall (openbsd-386), const IPPROTO_DIVERT_RESP ideal-int
+pkg syscall (openbsd-386), const IPV6_RECVDSTPORT = 64
+pkg syscall (openbsd-386), const IPV6_RECVDSTPORT ideal-int
+pkg syscall (openbsd-386), const IP_DIVERTFL = 4130
+pkg syscall (openbsd-386), const IP_DIVERTFL ideal-int
+pkg syscall (openbsd-386), const RTF_FMASK = 1112072
+pkg syscall (openbsd-386), const RTM_VERSION = 5
+pkg syscall (openbsd-386), const SIOCBRDGDADDR = 2166909255
+pkg syscall (openbsd-386), const SIOCBRDGGPARAM = 3225184600
+pkg syscall (openbsd-386), const SIOCBRDGSADDR = 3240651076
+pkg syscall (openbsd-386), const SIOCGETVLAN = 3223349648
+pkg syscall (openbsd-386), const SIOCGETVLAN ideal-int
+pkg syscall (openbsd-386), const SIOCGIFHARDMTU = 3223349669
+pkg syscall (openbsd-386), const SIOCGIFHARDMTU ideal-int
+pkg syscall (openbsd-386), const SIOCGLIFPHYTTL = 3223349673
+pkg syscall (openbsd-386), const SIOCGLIFPHYTTL ideal-int
+pkg syscall (openbsd-386), const SIOCGSPPPPARAMS = 3223349652
+pkg syscall (openbsd-386), const SIOCGSPPPPARAMS ideal-int
+pkg syscall (openbsd-386), const SIOCGVNETID = 3223349671
+pkg syscall (openbsd-386), const SIOCGVNETID ideal-int
+pkg syscall (openbsd-386), const SIOCSETVLAN = 2149607823
+pkg syscall (openbsd-386), const SIOCSETVLAN ideal-int
+pkg syscall (openbsd-386), const SIOCSLIFPHYTTL = 2149607848
+pkg syscall (openbsd-386), const SIOCSLIFPHYTTL ideal-int
+pkg syscall (openbsd-386), const SIOCSSPPPPARAMS = 2149607827
+pkg syscall (openbsd-386), const SIOCSSPPPPARAMS ideal-int
+pkg syscall (openbsd-386), const SIOCSVNETID = 2149607846
+pkg syscall (openbsd-386), const SIOCSVNETID ideal-int
+pkg syscall (openbsd-386), const SYS_CLOCK_GETRES = 89
+pkg syscall (openbsd-386), const SYS_CLOCK_GETTIME = 87
+pkg syscall (openbsd-386), const SYS_CLOCK_SETTIME = 88
+pkg syscall (openbsd-386), const SYS_FHSTATFS = 65
+pkg syscall (openbsd-386), const SYS_FSTAT = 53
+pkg syscall (openbsd-386), const SYS_FSTATAT = 42
+pkg syscall (openbsd-386), const SYS_FSTATFS = 64
+pkg syscall (openbsd-386), const SYS_FUTIMENS = 85
+pkg syscall (openbsd-386), const SYS_FUTIMES = 77
+pkg syscall (openbsd-386), const SYS_GETDENTS = 99
+pkg syscall (openbsd-386), const SYS_GETDENTS ideal-int
+pkg syscall (openbsd-386), const SYS_GETFSSTAT = 62
+pkg syscall (openbsd-386), const SYS_GETITIMER = 70
+pkg syscall (openbsd-386), const SYS_GETRUSAGE = 19
+pkg syscall (openbsd-386), const SYS_GETTIMEOFDAY = 67
+pkg syscall (openbsd-386), const SYS_KEVENT = 72
+pkg syscall (openbsd-386), const SYS_LSTAT = 40
+pkg syscall (openbsd-386), const SYS_NANOSLEEP = 91
+pkg syscall (openbsd-386), const SYS_PPOLL = 109
+pkg syscall (openbsd-386), const SYS_PPOLL ideal-int
+pkg syscall (openbsd-386), const SYS_PSELECT = 110
+pkg syscall (openbsd-386), const SYS_PSELECT ideal-int
+pkg syscall (openbsd-386), const SYS_SELECT = 71
+pkg syscall (openbsd-386), const SYS_SETITIMER = 69
+pkg syscall (openbsd-386), const SYS_SETTIMEOFDAY = 68
+pkg syscall (openbsd-386), const SYS_STAT = 38
+pkg syscall (openbsd-386), const SYS_STATFS = 63
+pkg syscall (openbsd-386), const SYS_UTIMENSAT = 84
+pkg syscall (openbsd-386), const SYS_UTIMES = 76
+pkg syscall (openbsd-386), const SYS_UTRACE = 209
+pkg syscall (openbsd-386), const SYS_UTRACE ideal-int
+pkg syscall (openbsd-386), const SYS_WAIT4 = 11
+pkg syscall (openbsd-386), const SYS___THRSLEEP = 94
+pkg syscall (openbsd-386), const SizeofIfData = 212
+pkg syscall (openbsd-386), const SizeofIfMsghdr = 236
+pkg syscall (openbsd-386), const SizeofRtMetrics = 56
+pkg syscall (openbsd-386), const SizeofRtMsghdr = 96
+pkg syscall (openbsd-386), const TCP_NOPUSH = 16
+pkg syscall (openbsd-386), const TCP_NOPUSH ideal-int
+pkg syscall (openbsd-386), const TIOCGTSTAMP = 1074558043
+pkg syscall (openbsd-386), type Dirent struct, Fileno uint64
+pkg syscall (openbsd-386), type Dirent struct, Off int64
+pkg syscall (openbsd-386), type Dirent struct, X__d_padding [4]uint8
+pkg syscall (openbsd-386), type FdSet struct, Bits [32]uint32
+pkg syscall (openbsd-386), type Kevent_t struct, Data int64
+pkg syscall (openbsd-386), type Mclpool struct, Grown int32
+pkg syscall (openbsd-386), type RtMetrics struct, Expire int64
+pkg syscall (openbsd-386), type RtMetrics struct, Pad uint32
+pkg syscall (openbsd-386), type Stat_t struct, Ino uint64
+pkg syscall (openbsd-386), type Statfs_t struct, F_ctime uint64
+pkg syscall (openbsd-386), type Statfs_t struct, F_mntfromspec [90]int8
+pkg syscall (openbsd-386), type Statfs_t struct, Pad_cgo_0 [2]uint8
+pkg syscall (openbsd-386), type Timespec struct, Sec int64
+pkg syscall (openbsd-386), type Timeval struct, Sec int64
+pkg syscall (openbsd-386-cgo), const BIOCGRTIMEOUT = 1074545262
+pkg syscall (openbsd-386-cgo), const BIOCSRTIMEOUT = 2148287085
+pkg syscall (openbsd-386-cgo), const IPPROTO_DIVERT_INIT = 2
+pkg syscall (openbsd-386-cgo), const IPPROTO_DIVERT_INIT ideal-int
+pkg syscall (openbsd-386-cgo), const IPPROTO_DIVERT_RESP = 1
+pkg syscall (openbsd-386-cgo), const IPPROTO_DIVERT_RESP ideal-int
+pkg syscall (openbsd-386-cgo), const IPV6_RECVDSTPORT = 64
+pkg syscall (openbsd-386-cgo), const IPV6_RECVDSTPORT ideal-int
+pkg syscall (openbsd-386-cgo), const IP_DIVERTFL = 4130
+pkg syscall (openbsd-386-cgo), const IP_DIVERTFL ideal-int
+pkg syscall (openbsd-386-cgo), const RTF_FMASK = 1112072
+pkg syscall (openbsd-386-cgo), const RTM_VERSION = 5
+pkg syscall (openbsd-386-cgo), const SIOCBRDGDADDR = 2166909255
+pkg syscall (openbsd-386-cgo), const SIOCBRDGGPARAM = 3225184600
+pkg syscall (openbsd-386-cgo), const SIOCBRDGSADDR = 3240651076
+pkg syscall (openbsd-386-cgo), const SIOCGETVLAN = 3223349648
+pkg syscall (openbsd-386-cgo), const SIOCGETVLAN ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCGIFHARDMTU = 3223349669
+pkg syscall (openbsd-386-cgo), const SIOCGIFHARDMTU ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCGLIFPHYTTL = 3223349673
+pkg syscall (openbsd-386-cgo), const SIOCGLIFPHYTTL ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCGSPPPPARAMS = 3223349652
+pkg syscall (openbsd-386-cgo), const SIOCGSPPPPARAMS ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCGVNETID = 3223349671
+pkg syscall (openbsd-386-cgo), const SIOCGVNETID ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCSETVLAN = 2149607823
+pkg syscall (openbsd-386-cgo), const SIOCSETVLAN ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCSLIFPHYTTL = 2149607848
+pkg syscall (openbsd-386-cgo), const SIOCSLIFPHYTTL ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCSSPPPPARAMS = 2149607827
+pkg syscall (openbsd-386-cgo), const SIOCSSPPPPARAMS ideal-int
+pkg syscall (openbsd-386-cgo), const SIOCSVNETID = 2149607846
+pkg syscall (openbsd-386-cgo), const SIOCSVNETID ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_GETRES = 89
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_GETTIME = 87
+pkg syscall (openbsd-386-cgo), const SYS_CLOCK_SETTIME = 88
+pkg syscall (openbsd-386-cgo), const SYS_FHSTATFS = 65
+pkg syscall (openbsd-386-cgo), const SYS_FSTAT = 53
+pkg syscall (openbsd-386-cgo), const SYS_FSTATAT = 42
+pkg syscall (openbsd-386-cgo), const SYS_FSTATFS = 64
+pkg syscall (openbsd-386-cgo), const SYS_FUTIMENS = 85
+pkg syscall (openbsd-386-cgo), const SYS_FUTIMES = 77
+pkg syscall (openbsd-386-cgo), const SYS_GETDENTS = 99
+pkg syscall (openbsd-386-cgo), const SYS_GETDENTS ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_GETFSSTAT = 62
+pkg syscall (openbsd-386-cgo), const SYS_GETITIMER = 70
+pkg syscall (openbsd-386-cgo), const SYS_GETRUSAGE = 19
+pkg syscall (openbsd-386-cgo), const SYS_GETTIMEOFDAY = 67
+pkg syscall (openbsd-386-cgo), const SYS_KEVENT = 72
+pkg syscall (openbsd-386-cgo), const SYS_LSTAT = 40
+pkg syscall (openbsd-386-cgo), const SYS_NANOSLEEP = 91
+pkg syscall (openbsd-386-cgo), const SYS_PPOLL = 109
+pkg syscall (openbsd-386-cgo), const SYS_PPOLL ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_PSELECT = 110
+pkg syscall (openbsd-386-cgo), const SYS_PSELECT ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_SELECT = 71
+pkg syscall (openbsd-386-cgo), const SYS_SETITIMER = 69
+pkg syscall (openbsd-386-cgo), const SYS_SETTIMEOFDAY = 68
+pkg syscall (openbsd-386-cgo), const SYS_STAT = 38
+pkg syscall (openbsd-386-cgo), const SYS_STATFS = 63
+pkg syscall (openbsd-386-cgo), const SYS_UTIMENSAT = 84
+pkg syscall (openbsd-386-cgo), const SYS_UTIMES = 76
+pkg syscall (openbsd-386-cgo), const SYS_UTRACE = 209
+pkg syscall (openbsd-386-cgo), const SYS_UTRACE ideal-int
+pkg syscall (openbsd-386-cgo), const SYS_WAIT4 = 11
+pkg syscall (openbsd-386-cgo), const SYS___THRSLEEP = 94
+pkg syscall (openbsd-386-cgo), const SizeofIfData = 212
+pkg syscall (openbsd-386-cgo), const SizeofIfMsghdr = 236
+pkg syscall (openbsd-386-cgo), const SizeofRtMetrics = 56
+pkg syscall (openbsd-386-cgo), const SizeofRtMsghdr = 96
+pkg syscall (openbsd-386-cgo), const TCP_NOPUSH = 16
+pkg syscall (openbsd-386-cgo), const TCP_NOPUSH ideal-int
+pkg syscall (openbsd-386-cgo), const TIOCGTSTAMP = 1074558043
+pkg syscall (openbsd-386-cgo), type Dirent struct, Fileno uint64
+pkg syscall (openbsd-386-cgo), type Dirent struct, Off int64
+pkg syscall (openbsd-386-cgo), type Dirent struct, X__d_padding [4]uint8
+pkg syscall (openbsd-386-cgo), type FdSet struct, Bits [32]uint32
+pkg syscall (openbsd-386-cgo), type Kevent_t struct, Data int64
+pkg syscall (openbsd-386-cgo), type Mclpool struct, Grown int32
+pkg syscall (openbsd-386-cgo), type RtMetrics struct, Expire int64
+pkg syscall (openbsd-386-cgo), type RtMetrics struct, Pad uint32
+pkg syscall (openbsd-386-cgo), type Stat_t struct, Ino uint64
+pkg syscall (openbsd-386-cgo), type Statfs_t struct, F_ctime uint64
+pkg syscall (openbsd-386-cgo), type Statfs_t struct, F_mntfromspec [90]int8
+pkg syscall (openbsd-386-cgo), type Statfs_t struct, Pad_cgo_0 [2]uint8
+pkg syscall (openbsd-386-cgo), type Timespec struct, Sec int64
+pkg syscall (openbsd-386-cgo), type Timeval struct, Sec int64
+pkg syscall (openbsd-amd64), const IPPROTO_DIVERT_INIT = 2
+pkg syscall (openbsd-amd64), const IPPROTO_DIVERT_INIT ideal-int
+pkg syscall (openbsd-amd64), const IPPROTO_DIVERT_RESP = 1
+pkg syscall (openbsd-amd64), const IPPROTO_DIVERT_RESP ideal-int
+pkg syscall (openbsd-amd64), const IPV6_RECVDSTPORT = 64
+pkg syscall (openbsd-amd64), const IPV6_RECVDSTPORT ideal-int
+pkg syscall (openbsd-amd64), const IP_DIVERTFL = 4130
+pkg syscall (openbsd-amd64), const IP_DIVERTFL ideal-int
+pkg syscall (openbsd-amd64), const RTF_FMASK = 1112072
+pkg syscall (openbsd-amd64), const RTM_VERSION = 5
+pkg syscall (openbsd-amd64), const SIOCBRDGDADDR = 2166909255
+pkg syscall (openbsd-amd64), const SIOCBRDGSADDR = 3240651076
+pkg syscall (openbsd-amd64), const SIOCGETVLAN = 3223349648
+pkg syscall (openbsd-amd64), const SIOCGETVLAN ideal-int
+pkg syscall (openbsd-amd64), const SIOCGIFHARDMTU = 3223349669
+pkg syscall (openbsd-amd64), const SIOCGIFHARDMTU ideal-int
+pkg syscall (openbsd-amd64), const SIOCGLIFPHYTTL = 3223349673
+pkg syscall (openbsd-amd64), const SIOCGLIFPHYTTL ideal-int
+pkg syscall (openbsd-amd64), const SIOCGSPPPPARAMS = 3223349652
+pkg syscall (openbsd-amd64), const SIOCGSPPPPARAMS ideal-int
+pkg syscall (openbsd-amd64), const SIOCGVNETID = 3223349671
+pkg syscall (openbsd-amd64), const SIOCGVNETID ideal-int
+pkg syscall (openbsd-amd64), const SIOCSETVLAN = 2149607823
+pkg syscall (openbsd-amd64), const SIOCSETVLAN ideal-int
+pkg syscall (openbsd-amd64), const SIOCSLIFPHYTTL = 2149607848
+pkg syscall (openbsd-amd64), const SIOCSLIFPHYTTL ideal-int
+pkg syscall (openbsd-amd64), const SIOCSSPPPPARAMS = 2149607827
+pkg syscall (openbsd-amd64), const SIOCSSPPPPARAMS ideal-int
+pkg syscall (openbsd-amd64), const SIOCSVNETID = 2149607846
+pkg syscall (openbsd-amd64), const SIOCSVNETID ideal-int
+pkg syscall (openbsd-amd64), const SYS_CLOCK_GETRES = 89
+pkg syscall (openbsd-amd64), const SYS_CLOCK_GETTIME = 87
+pkg syscall (openbsd-amd64), const SYS_CLOCK_SETTIME = 88
+pkg syscall (openbsd-amd64), const SYS_FHSTATFS = 65
+pkg syscall (openbsd-amd64), const SYS_FSTAT = 53
+pkg syscall (openbsd-amd64), const SYS_FSTATAT = 42
+pkg syscall (openbsd-amd64), const SYS_FSTATFS = 64
+pkg syscall (openbsd-amd64), const SYS_FUTIMENS = 85
+pkg syscall (openbsd-amd64), const SYS_FUTIMES = 77
+pkg syscall (openbsd-amd64), const SYS_GETDENTS = 99
+pkg syscall (openbsd-amd64), const SYS_GETDENTS ideal-int
+pkg syscall (openbsd-amd64), const SYS_GETFSSTAT = 62
+pkg syscall (openbsd-amd64), const SYS_GETITIMER = 70
+pkg syscall (openbsd-amd64), const SYS_GETRUSAGE = 19
+pkg syscall (openbsd-amd64), const SYS_GETTIMEOFDAY = 67
+pkg syscall (openbsd-amd64), const SYS_KEVENT = 72
+pkg syscall (openbsd-amd64), const SYS_LSTAT = 40
+pkg syscall (openbsd-amd64), const SYS_NANOSLEEP = 91
+pkg syscall (openbsd-amd64), const SYS_PPOLL = 109
+pkg syscall (openbsd-amd64), const SYS_PPOLL ideal-int
+pkg syscall (openbsd-amd64), const SYS_PSELECT = 110
+pkg syscall (openbsd-amd64), const SYS_PSELECT ideal-int
+pkg syscall (openbsd-amd64), const SYS_SELECT = 71
+pkg syscall (openbsd-amd64), const SYS_SETITIMER = 69
+pkg syscall (openbsd-amd64), const SYS_SETTIMEOFDAY = 68
+pkg syscall (openbsd-amd64), const SYS_STAT = 38
+pkg syscall (openbsd-amd64), const SYS_STATFS = 63
+pkg syscall (openbsd-amd64), const SYS_UTIMENSAT = 84
+pkg syscall (openbsd-amd64), const SYS_UTIMES = 76
+pkg syscall (openbsd-amd64), const SYS_UTRACE = 209
+pkg syscall (openbsd-amd64), const SYS_UTRACE ideal-int
+pkg syscall (openbsd-amd64), const SYS_WAIT4 = 11
+pkg syscall (openbsd-amd64), const SYS___THRSLEEP = 94
+pkg syscall (openbsd-amd64), const SizeofRtMetrics = 56
+pkg syscall (openbsd-amd64), const SizeofRtMsghdr = 96
+pkg syscall (openbsd-amd64), const TCP_NOPUSH = 16
+pkg syscall (openbsd-amd64), const TCP_NOPUSH ideal-int
+pkg syscall (openbsd-amd64), const TIOCGSID = 1074033763
+pkg syscall (openbsd-amd64), const TIOCGSID ideal-int
+pkg syscall (openbsd-amd64), type Dirent struct, Fileno uint64
+pkg syscall (openbsd-amd64), type Dirent struct, Off int64
+pkg syscall (openbsd-amd64), type Dirent struct, X__d_padding [4]uint8
+pkg syscall (openbsd-amd64), type FdSet struct, Bits [32]uint32
+pkg syscall (openbsd-amd64), type Kevent_t struct, Data int64
+pkg syscall (openbsd-amd64), type Kevent_t struct, Ident uint64
+pkg syscall (openbsd-amd64), type Mclpool struct, Grown int32
+pkg syscall (openbsd-amd64), type RtMetrics struct, Expire int64
+pkg syscall (openbsd-amd64), type RtMetrics struct, Pad uint32
+pkg syscall (openbsd-amd64), type Stat_t struct, Ino uint64
+pkg syscall (openbsd-amd64), type Stat_t struct, Pad_cgo_0 [4]uint8
+pkg syscall (openbsd-amd64), type Statfs_t struct, F_ctime uint64
+pkg syscall (openbsd-amd64), type Statfs_t struct, F_mntfromspec [90]int8
+pkg syscall (openbsd-amd64), type Statfs_t struct, Pad_cgo_1 [2]uint8
+pkg syscall (openbsd-amd64), type Timespec struct, Sec int64
+pkg syscall (openbsd-amd64-cgo), const IPPROTO_DIVERT_INIT = 2
+pkg syscall (openbsd-amd64-cgo), const IPPROTO_DIVERT_INIT ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPPROTO_DIVERT_RESP = 1
+pkg syscall (openbsd-amd64-cgo), const IPPROTO_DIVERT_RESP ideal-int
+pkg syscall (openbsd-amd64-cgo), const IPV6_RECVDSTPORT = 64
+pkg syscall (openbsd-amd64-cgo), const IPV6_RECVDSTPORT ideal-int
+pkg syscall (openbsd-amd64-cgo), const IP_DIVERTFL = 4130
+pkg syscall (openbsd-amd64-cgo), const IP_DIVERTFL ideal-int
+pkg syscall (openbsd-amd64-cgo), const RTF_FMASK = 1112072
+pkg syscall (openbsd-amd64-cgo), const RTM_VERSION = 5
+pkg syscall (openbsd-amd64-cgo), const SIOCBRDGDADDR = 2166909255
+pkg syscall (openbsd-amd64-cgo), const SIOCBRDGSADDR = 3240651076
+pkg syscall (openbsd-amd64-cgo), const SIOCGETVLAN = 3223349648
+pkg syscall (openbsd-amd64-cgo), const SIOCGETVLAN ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCGIFHARDMTU = 3223349669
+pkg syscall (openbsd-amd64-cgo), const SIOCGIFHARDMTU ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCGLIFPHYTTL = 3223349673
+pkg syscall (openbsd-amd64-cgo), const SIOCGLIFPHYTTL ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCGSPPPPARAMS = 3223349652
+pkg syscall (openbsd-amd64-cgo), const SIOCGSPPPPARAMS ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCGVNETID = 3223349671
+pkg syscall (openbsd-amd64-cgo), const SIOCGVNETID ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCSETVLAN = 2149607823
+pkg syscall (openbsd-amd64-cgo), const SIOCSETVLAN ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCSLIFPHYTTL = 2149607848
+pkg syscall (openbsd-amd64-cgo), const SIOCSLIFPHYTTL ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCSSPPPPARAMS = 2149607827
+pkg syscall (openbsd-amd64-cgo), const SIOCSSPPPPARAMS ideal-int
+pkg syscall (openbsd-amd64-cgo), const SIOCSVNETID = 2149607846
+pkg syscall (openbsd-amd64-cgo), const SIOCSVNETID ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_GETRES = 89
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_GETTIME = 87
+pkg syscall (openbsd-amd64-cgo), const SYS_CLOCK_SETTIME = 88
+pkg syscall (openbsd-amd64-cgo), const SYS_FHSTATFS = 65
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTAT = 53
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTATAT = 42
+pkg syscall (openbsd-amd64-cgo), const SYS_FSTATFS = 64
+pkg syscall (openbsd-amd64-cgo), const SYS_FUTIMENS = 85
+pkg syscall (openbsd-amd64-cgo), const SYS_FUTIMES = 77
+pkg syscall (openbsd-amd64-cgo), const SYS_GETDENTS = 99
+pkg syscall (openbsd-amd64-cgo), const SYS_GETDENTS ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_GETFSSTAT = 62
+pkg syscall (openbsd-amd64-cgo), const SYS_GETITIMER = 70
+pkg syscall (openbsd-amd64-cgo), const SYS_GETRUSAGE = 19
+pkg syscall (openbsd-amd64-cgo), const SYS_GETTIMEOFDAY = 67
+pkg syscall (openbsd-amd64-cgo), const SYS_KEVENT = 72
+pkg syscall (openbsd-amd64-cgo), const SYS_LSTAT = 40
+pkg syscall (openbsd-amd64-cgo), const SYS_NANOSLEEP = 91
+pkg syscall (openbsd-amd64-cgo), const SYS_PPOLL = 109
+pkg syscall (openbsd-amd64-cgo), const SYS_PPOLL ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_PSELECT = 110
+pkg syscall (openbsd-amd64-cgo), const SYS_PSELECT ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_SELECT = 71
+pkg syscall (openbsd-amd64-cgo), const SYS_SETITIMER = 69
+pkg syscall (openbsd-amd64-cgo), const SYS_SETTIMEOFDAY = 68
+pkg syscall (openbsd-amd64-cgo), const SYS_STAT = 38
+pkg syscall (openbsd-amd64-cgo), const SYS_STATFS = 63
+pkg syscall (openbsd-amd64-cgo), const SYS_UTIMENSAT = 84
+pkg syscall (openbsd-amd64-cgo), const SYS_UTIMES = 76
+pkg syscall (openbsd-amd64-cgo), const SYS_UTRACE = 209
+pkg syscall (openbsd-amd64-cgo), const SYS_UTRACE ideal-int
+pkg syscall (openbsd-amd64-cgo), const SYS_WAIT4 = 11
+pkg syscall (openbsd-amd64-cgo), const SYS___THRSLEEP = 94
+pkg syscall (openbsd-amd64-cgo), const SizeofRtMetrics = 56
+pkg syscall (openbsd-amd64-cgo), const SizeofRtMsghdr = 96
+pkg syscall (openbsd-amd64-cgo), const TCP_NOPUSH = 16
+pkg syscall (openbsd-amd64-cgo), const TCP_NOPUSH ideal-int
+pkg syscall (openbsd-amd64-cgo), const TIOCGSID = 1074033763
+pkg syscall (openbsd-amd64-cgo), const TIOCGSID ideal-int
+pkg syscall (openbsd-amd64-cgo), type Dirent struct, Fileno uint64
+pkg syscall (openbsd-amd64-cgo), type Dirent struct, Off int64
+pkg syscall (openbsd-amd64-cgo), type Dirent struct, X__d_padding [4]uint8
+pkg syscall (openbsd-amd64-cgo), type FdSet struct, Bits [32]uint32
+pkg syscall (openbsd-amd64-cgo), type Kevent_t struct, Data int64
+pkg syscall (openbsd-amd64-cgo), type Kevent_t struct, Ident uint64
+pkg syscall (openbsd-amd64-cgo), type Mclpool struct, Grown int32
+pkg syscall (openbsd-amd64-cgo), type RtMetrics struct, Expire int64
+pkg syscall (openbsd-amd64-cgo), type RtMetrics struct, Pad uint32
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Ino uint64
+pkg syscall (openbsd-amd64-cgo), type Stat_t struct, Pad_cgo_0 [4]uint8
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, F_ctime uint64
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, F_mntfromspec [90]int8
+pkg syscall (openbsd-amd64-cgo), type Statfs_t struct, Pad_cgo_1 [2]uint8
+pkg syscall (openbsd-amd64-cgo), type Timespec struct, Sec int64

File misc/cgo/test/cgo_linux_test.go

 import "testing"
 
 func TestSetgid(t *testing.T) { testSetgid(t) }
+func Test6997(t *testing.T)   { test6997(t) }

File misc/cgo/test/issue6997_linux.c

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
+
+static pthread_t thread;
+
+static void* threadfunc(void* dummy) {
+	while(1) {
+		sleep(1);
+	}
+}
+
+int StartThread() {
+	return pthread_create(&thread, NULL, &threadfunc, NULL);
+}
+
+int CancelThread() {
+	void *r;
+	pthread_cancel(thread);
+	pthread_join(thread, &r);
+	return (r == PTHREAD_CANCELED);
+}

File misc/cgo/test/issue6997_linux.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test that pthread_cancel works as expected
+// (NPTL uses SIGRTMIN to implement thread cancellation)
+// See http://golang.org/issue/6997
+package cgotest
+
+/*
+#cgo CFLAGS: -pthread
+#cgo LDFLAGS: -pthread
+extern int StartThread();
+extern int CancelThread();
+*/
+import "C"
+
+import "testing"
+import "time"
+
+func test6997(t *testing.T) {
+	r := C.StartThread()
+	if r != 0 {
+		t.Error("pthread_create failed")
+	}
+	c := make(chan C.int)
+	go func() {
+		time.Sleep(500 * time.Millisecond)
+		c <- C.CancelThread()
+	}()
+
+	select {
+	case r = <-c:
+		if r == 0 {
+			t.Error("pthread finished but wasn't cancelled??")
+		}
+	case <-time.After(5 * time.Second):
+		t.Error("hung in pthread_cancel/pthread_join")
+	}
+}

File src/cmd/gc/fmt.c

 	[OEMPTY] = -1,
 	[OFALL] = -1,
 	[OFOR] = -1,
+	[OGOTO] = -1,
 	[OIF] = -1,
 	[OLABEL] = -1,
 	[OPROC] = -1,

File src/cmd/go/pkg.go

 	"cmd/api":                              toTool,
 	"cmd/cgo":                              toTool,
 	"cmd/fix":                              toTool,
+	"cmd/link":                             toTool,
 	"cmd/nm":                               toTool,
 	"cmd/yacc":                             toTool,
 	"code.google.com/p/go.tools/cmd/cover": toTool,

File src/cmd/link/dead.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Removal of dead code and data.
+
+package main
+
+// dead removes unreachable code and data from the program.
+func (p *Prog) dead() {
+}

File src/cmd/link/debug.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Generation of debug data structures (in the executable but not mapped at run time).
+// See also runtime.go.
+
+package main
+
+func (p *Prog) debug() {
+}

File src/cmd/link/layout.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Executable image layout - address assignment.
+
+package main
+
+import (
+	"debug/goobj"
+)
+
+// A layoutSection describes a single section to add to the
+// final executable. Go binaries only have a fixed set of possible
+// sections, and the symbol kind determines the section.
+type layoutSection struct {
+	Segment string
+	Section string
+	Kind    goobj.SymKind
+	Index   int
+}
+
+// layout defines the layout of the generated Go executable.
+// The order of entries here is the order in the executable.
+// Entries with the same Segment name must be contiguous.
+var layout = []layoutSection{
+	{Segment: "text", Section: "text", Kind: goobj.STEXT},
+	{Segment: "data", Section: "data", Kind: goobj.SDATA},
+
+	// Later:
+	//	{"rodata", "type", goobj.STYPE},
+	//	{"rodata", "string", goobj.SSTRING},
+	//	{"rodata", "gostring", goobj.SGOSTRING},
+	//	{"rodata", "gofunc", goobj.SGOFUNC},
+	//	{"rodata", "rodata", goobj.SRODATA},
+	//	{"rodata", "functab", goobj.SFUNCTAB},
+	//	{"rodata", "typelink", goobj.STYPELINK},
+	//	{"rodata", "symtab", goobj.SSYMTAB},
+	//	{"rodata", "pclntab", goobj.SPCLNTAB},
+	//	{"data", "noptrdata", goobj.SNOPTRDATA},
+	//	{"data", "bss", goobj.SBSS},
+	//	{"data", "noptrbss", goobj.SNOPTRBSS},
+}
+
+// layoutByKind maps from SymKind to an entry in layout.
+var layoutByKind []*layoutSection
+
+func init() {
+	// Build index from symbol type to layout entry.
+	max := 0
+	for _, sect := range layout {
+		if max <= int(sect.Kind) {
+			max = int(sect.Kind) + 1
+		}
+	}
+	layoutByKind = make([]*layoutSection, max)
+	for i, sect := range layout {
+		layoutByKind[sect.Kind] = &layout[i]
+		sect.Index = i
+	}
+}
+
+// layout arranges symbols into sections and sections into segments,
+// and then it assigns addresses to segments, sections, and symbols.
+func (p *Prog) layout() {
+	sections := make([]*Section, len(layout))
+
+	// Assign symbols to sections using index, creating sections as needed.
+	// Could keep sections separated by type during input instead.
+	for _, sym := range p.Syms {
+		kind := sym.Kind
+		if kind < 0 || int(kind) >= len(layoutByKind) || layoutByKind[kind] == nil {
+			p.errorf("%s: unexpected symbol kind %v", sym.SymID, kind)
+			continue
+		}
+		lsect := layoutByKind[kind]
+		sect := sections[lsect.Index]
+		if sect == nil {
+			sect = &Section{
+				Name:  lsect.Section,
+				Align: 1,
+			}
+			sections[lsect.Index] = sect
+		}
+		if sym.Data.Size > 0 {
+			sect.InFile = true
+		}
+		sym.Section = sect
+		sect.Syms = append(sect.Syms, sym)
+
+		// TODO(rsc): Incorporate alignment information.
+		// First that information needs to be added to the object files.
+		//
+		// if sect.Align < Addr(sym.Align) {
+		//	sect.Align = Addr(sym.Align)
+		// }
+	}
+
+	// Assign sections to segments, creating segments as needed.
+	var seg *Segment
+	for i, sect := range sections {
+		if sect == nil {
+			continue
+		}
+		if seg == nil || seg.Name != layout[i].Segment {
+			seg = &Segment{
+				Name: layout[i].Segment,
+			}
+			p.Segments = append(p.Segments, seg)
+		}
+		sect.Segment = seg
+		seg.Sections = append(seg.Sections, sect)
+	}
+
+	// Assign addresses.
+
+	// TODO(rsc): This choice needs to be informed by both
+	// the formatter and the target architecture.
+	// And maybe eventually a command line flag (sigh).
+	const segAlign = 4096
+
+	// TODO(rsc): Use a larger amount on most systems, which will let the
+	// compiler eliminate more nil checks.
+	if p.UnmappedSize == 0 {
+		p.UnmappedSize = segAlign
+	}
+
+	// TODO(rsc): addr := Addr(0) when generating a shared library or PIE.
+	addr := p.UnmappedSize
+
+	// Account for initial file header.
+	hdrVirt, hdrFile := p.formatter.headerSize(p)
+	addr += hdrVirt
+
+	// Assign addresses to segments, sections, symbols.
+	// Assign sizes to segments, sections.
+	startVirt := addr
+	startFile := hdrFile
+	for _, seg := range p.Segments {
+		addr = round(addr, segAlign)
+		seg.VirtAddr = addr
+		seg.FileOffset = startFile + seg.VirtAddr - startVirt
+		for _, sect := range seg.Sections {
+			addr = round(addr, sect.Align)
+			sect.VirtAddr = addr
+			for _, sym := range sect.Syms {
+				// TODO(rsc): Respect alignment once we have that information.
+				sym.Addr = addr
+				addr += Addr(sym.Size)
+			}
+			sect.Size = addr - sect.VirtAddr
+			if sect.InFile {
+				seg.FileSize = addr - seg.VirtAddr
+			}
+		}
+		seg.VirtSize = addr
+	}
+}

File src/cmd/link/load.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Loading of code and data fragments from package files into final image.
+
+package main
+
+import (
+	"encoding/binary"
+	"os"
+)
+
+// load allocates segment images, populates them with data
+// read from package files, and applies relocations to the data.
+func (p *Prog) load() {
+	// TODO(rsc): mmap the output file and store the data directly.
+	// That will make writing the output file more efficient.
+	for _, seg := range p.Segments {
+		seg.Data = make([]byte, seg.FileSize)
+	}
+	for _, pkg := range p.Packages {
+		p.loadPackage(pkg)
+	}
+}
+
+// loadPackage loads and relocates data for all the
+// symbols needed in the given package.
+func (p *Prog) loadPackage(pkg *Package) {
+	f, err := os.Open(pkg.File)
+	if err != nil {
+		p.errorf("%v", err)
+		return
+	}
+	defer f.Close()
+
+	// TODO(rsc): Mmap file into memory.
+
+	for _, sym := range pkg.Syms {
+		if sym.Data.Size == 0 {
+			continue
+		}
+		// TODO(rsc): If not using mmap, at least coalesce nearby reads.
+		seg := sym.Section.Segment
+		off := sym.Addr - seg.VirtAddr
+		data := seg.Data[off : off+Addr(sym.Data.Size)]
+		_, err := f.ReadAt(data, sym.Data.Offset)
+		if err != nil {
+			p.errorf("reading %v: %v", sym.SymID, err)
+		}
+		p.relocateSym(sym, data)
+	}
+}
+
+// TODO(rsc): These are the relocation types and should be
+// loaded from debug/goobj. They are not in debug/goobj
+// because they are different for each architecture.
+// The symbol file format needs to be revised to use an
+// architecture-independent set of numbers, and then
+// those should be fetched from debug/goobj instead of
+// defined here. These are the amd64 numbers.
+const (
+	D_ADDR  = 120
+	D_SIZE  = 246
+	D_PCREL = 247
+)
+
+// relocateSym applies relocations to sym's data.
+func (p *Prog) relocateSym(sym *Sym, data []byte) {
+	for i := range sym.Reloc {
+		r := &sym.Reloc[i]
+		targ := p.Syms[r.Sym]
+		if targ == nil {
+			p.errorf("%v: reference to undefined symbol %v", sym, r.Sym)
+			continue
+		}
+		val := targ.Addr + Addr(r.Add)
+		switch r.Type {
+		default:
+			p.errorf("%v: unknown relocation type %d", sym, r.Type)
+		case D_ADDR:
+			// ok
+		case D_PCREL:
+			val -= sym.Addr + Addr(r.Offset+r.Size)
+		}
+		frag := data[r.Offset : r.Offset+r.Size]
+		switch r.Size {
+		default:
+			p.errorf("%v: unknown relocation size %d", sym, r.Size)
+		case 4:
+			// TODO(rsc): Check for overflow?
+			// TODO(rsc): Handle big-endian systems.
+			binary.LittleEndian.PutUint32(frag, uint32(val))
+		case 8:
+			binary.LittleEndian.PutUint64(frag, uint64(val))
+		}
+	}
+}

File src/cmd/link/macho.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Mach-O (Darwin) object file writing.
+
+package main
+
+import (
+	"debug/macho"
+	"encoding/binary"
+	"io"
+	"strings"
+)
+
+// machoFormat is the implementation of formatter.
+type machoFormat struct{}
+
+// machoHeader and friends are data structures
+// corresponding to the Mach-O file header
+// to be written to disk.
+
+const (
+	macho64Bit     = 1 << 24
+	machoSubCPU386 = 3
+)
+
+// machoArch describes a Mach-O target architecture.
+type machoArch struct {
+	CPU    uint32
+	SubCPU uint32
+}
+
+// machoHeader is the Mach-O file header.
+type machoHeader struct {
+	machoArch
+	FileType uint32
+	Loads    []*machoLoad
+	Segments []*machoSegment
+	p        *Prog // for reporting errors
+}
+
+// machoLoad is a Mach-O load command.
+type machoLoad struct {
+	Type uint32
+	Data []uint32
+}
+
+// machoSegment is a Mach-O segment.
+type machoSegment struct {
+	Name       string
+	VirtAddr   Addr
+	VirtSize   Addr
+	FileOffset Addr
+	FileSize   Addr
+	Prot1      uint32
+	Prot2      uint32
+	Flags      uint32
+	Sections   []*machoSection
+}
+
+// machoSection is a Mach-O section, inside a segment.
+type machoSection struct {
+	Name    string
+	Segment string
+	Addr    Addr
+	Size    Addr
+	Offset  uint32
+	Align   uint32
+	Reloc   uint32
+	Nreloc  uint32
+	Flags   uint32
+	Res1    uint32
+	Res2    uint32
+}
+
+// layout positions the segments and sections in p
+// to make room for the Mach-O file header.
+// That is, it edits their VirtAddr fields to adjust for the presence
+// of the Mach-O header at the beginning of the address space.
+func (machoFormat) headerSize(p *Prog) (virt, file Addr) {
+	var h machoHeader
+	h.init(p)
+	size := Addr(h.size())
+	size = round(size, 4096)
+	p.HeaderSize = size
+	return size, size
+}
+
+// write writes p to w as a Mach-O executable.
+// layout(p) must have already been called,
+// and the number, sizes, and addresses of the segments
+// and sections must not have been modified since the call.
+func (machoFormat) write(w io.Writer, p *Prog) {
+	var h machoHeader
+	h.init(p)
+	off := Addr(0)
+	enc := h.encode()
+	w.Write(enc)
+	off += Addr(len(enc))
+	for _, seg := range p.Segments {
+		if seg.FileOffset < off {
+			h.p.errorf("mach-o error: invalid file offset")
+		}
+		w.Write(make([]byte, int(seg.FileOffset-off)))
+		if seg.FileSize != Addr(len(seg.Data)) {
+			h.p.errorf("mach-o error: invalid file size")
+		}
+		w.Write(seg.Data)
+		off = seg.FileOffset + Addr(len(seg.Data))
+	}
+}
+
+// Conversion of Prog to macho data structures.
+
+// machoArches maps from GOARCH to machoArch.
+var machoArches = map[string]machoArch{
+	"amd64": {
+		CPU:    uint32(macho.CpuAmd64),
+		SubCPU: uint32(machoSubCPU386),
+	},
+}
+
+// init initializes the header h to describe p.
+func (h *machoHeader) init(p *Prog) {
+	h.p = p
+	h.Segments = nil
+	h.Loads = nil
+	var ok bool
+	h.machoArch, ok = machoArches[p.GOARCH]
+	if !ok {
+		p.errorf("mach-o: unknown target GOARCH %q", p.GOARCH)
+		return
+	}
+	h.FileType = uint32(macho.TypeExec)
+
+	mseg := h.addSegment(p, "__PAGEZERO", nil)
+	mseg.VirtSize = p.UnmappedSize
+
+	for _, seg := range p.Segments {
+		h.addSegment(p, "__"+strings.ToUpper(seg.Name), seg)
+	}
+
+	var data []uint32
+	switch h.CPU {
+	default:
+		p.errorf("mach-o: unknown cpu %#x for GOARCH %q", h.CPU, p.GOARCH)
+	case uint32(macho.CpuAmd64):
+		data = make([]uint32, 2+42)
+		data[0] = 4                  // thread type
+		data[1] = 42                 // word count
+		data[2+32] = uint32(p.Entry) // RIP register, in two parts
+		data[2+32+1] = uint32(p.Entry >> 32)
+	}
+
+	h.Loads = append(h.Loads, &machoLoad{
+		Type: uint32(macho.LoadCmdUnixThread),
+		Data: data,
+	})
+}
+
+// addSegment adds to h a Mach-O segment like seg with the given name.
+func (h *machoHeader) addSegment(p *Prog, name string, seg *Segment) *machoSegment {
+	mseg := &machoSegment{
+		Name: name,
+	}
+	h.Segments = append(h.Segments, mseg)
+	if seg == nil {
+		return mseg
+	}
+
+	mseg.VirtAddr = seg.VirtAddr
+	mseg.VirtSize = seg.VirtSize
+	mseg.FileOffset = round(seg.FileOffset, 4096)
+	mseg.FileSize = seg.FileSize
+
+	if name == "__TEXT" {
+		// Initially RWX, then just RX
+		mseg.Prot1 = 7
+		mseg.Prot2 = 5
+
+		// Text segment maps Mach-O header, needed by dynamic linker.
+		mseg.VirtAddr -= p.HeaderSize
+		mseg.VirtSize += p.HeaderSize
+		mseg.FileOffset -= p.HeaderSize
+		mseg.FileSize += p.HeaderSize
+	} else {
+		// RW
+		mseg.Prot1 = 3
+		mseg.Prot2 = 3
+	}
+
+	for _, sect := range seg.Sections {
+		h.addSection(mseg, seg, sect)
+	}
+	return mseg
+}
+
+// addSection adds to mseg a Mach-O section like sect, inside seg, with the given name.
+func (h *machoHeader) addSection(mseg *machoSegment, seg *Segment, sect *Section) {
+	msect := &machoSection{
+		Name:    "__" + sect.Name,
+		Segment: mseg.Name,
+		// Reloc: sect.RelocOffset,
+		// NumReloc: sect.RelocLen / 8,
+		Addr: sect.VirtAddr,
+		Size: sect.Size,
+	}
+	mseg.Sections = append(mseg.Sections, msect)
+
+	for 1<<msect.Align < sect.Align {
+		msect.Align++
+	}
+
+	if off := sect.VirtAddr - seg.VirtAddr; off < seg.FileSize {
+		// Data in file.
+		if sect.Size > seg.FileSize-off {
+			h.p.errorf("mach-o error: section crosses file boundary")
+		}
+		msect.Offset = uint32(seg.FileOffset + off)
+	} else {
+		// Zero filled.
+		msect.Flags |= 1
+	}
+
+	if sect.Name == "text" {
+		msect.Flags |= 0x400 // contains executable instructions
+	}
+}
+
+// A machoWriter helps write Mach-O headers.
+// It is basically a buffer with some helper routines for writing integers.
+type machoWriter struct {
+	dst   []byte
+	tmp   [8]byte
+	order binary.ByteOrder
+	is64  bool
+	p     *Prog
+}
+
+// if64 returns x if w is writing a 64-bit object file; otherwise it returns y.
+func (w *machoWriter) if64(x, y interface{}) interface{} {
+	if w.is64 {
+		return x
+	}
+	return y
+}
+
+// encode encodes each of the given arguments into the writer.
+// It encodes uint32, []uint32, uint64, and []uint64 by writing each value
+// in turn in the correct byte order for the output file.
+// It encodes an Addr as a uint64 if writing a 64-bit output file, or else as a uint32.
+// It encodes []byte and string by writing the raw bytes (no length prefix).
+// It skips nil values in the args list.
+func (w *machoWriter) encode(args ...interface{}) {
+	for _, arg := range args {
+		switch arg := arg.(type) {
+		default:
+			w.p.errorf("mach-o error: cannot encode %T", arg)
+		case nil:
+			// skip
+		case []byte:
+			w.dst = append(w.dst, arg...)
+		case string:
+			w.dst = append(w.dst, arg...)
+		case uint32:
+			w.order.PutUint32(w.tmp[:], arg)
+			w.dst = append(w.dst, w.tmp[:4]...)
+		case []uint32:
+			for _, x := range arg {
+				w.order.PutUint32(w.tmp[:], x)
+				w.dst = append(w.dst, w.tmp[:4]...)
+			}
+		case uint64:
+			w.order.PutUint64(w.tmp[:], arg)
+			w.dst = append(w.dst, w.tmp[:8]...)
+		case Addr:
+			if w.is64 {
+				w.order.PutUint64(w.tmp[:], uint64(arg))
+				w.dst = append(w.dst, w.tmp[:8]...)
+			} else {
+				if Addr(uint32(arg)) != arg {
+					w.p.errorf("mach-o error: truncating address %#x to uint32", arg)
+				}
+				w.order.PutUint32(w.tmp[:], uint32(arg))
+				w.dst = append(w.dst, w.tmp[:4]...)
+			}
+		}
+	}
+}
+
+// segmentSize returns the size of the encoding of seg in bytes.
+func (w *machoWriter) segmentSize(seg *machoSegment) int {
+	if w.is64 {
+		return 18*4 + 20*4*len(seg.Sections)
+	}
+	return 14*4 + 22*4*len(seg.Sections)
+}
+
+// zeroPad returns the string s truncated or padded with NULs to n bytes.
+func zeroPad(s string, n int) string {
+	if len(s) >= n {
+		return s[:n]
+	}
+	return s + strings.Repeat("\x00", n-len(s))
+}
+
+// size returns the encoded size of the header.
+func (h *machoHeader) size() int {
+	// Could write separate code, but encoding is cheap; encode and throw it away.
+	return len(h.encode())
+}
+
+// encode returns the Mach-O encoding of the header.
+func (h *machoHeader) encode() []byte {
+	w := &machoWriter{p: h.p}
+	w.is64 = h.CPU&macho64Bit != 0
+	switch h.SubCPU {
+	default:
+		h.p.errorf("mach-o error: unknown CPU")
+	case machoSubCPU386:
+		w.order = binary.LittleEndian
+	}
+
+	loadSize := 0
+	for _, seg := range h.Segments {
+		loadSize += w.segmentSize(seg)
+	}
+	for _, l := range h.Loads {
+		loadSize += 4 * (2 + len(l.Data))
+	}
+
+	w.encode(
+		w.if64(macho.Magic64, macho.Magic32),
+		uint32(h.CPU),
+		uint32(h.SubCPU),
+		uint32(h.FileType),
+		uint32(len(h.Loads)+len(h.Segments)),
+		uint32(loadSize),
+		uint32(1),
+		w.if64(uint32(0), nil),
+	)
+
+	for _, seg := range h.Segments {
+		w.encode(
+			w.if64(uint32(macho.LoadCmdSegment64), uint32(macho.LoadCmdSegment)),
+			uint32(w.segmentSize(seg)),
+			zeroPad(seg.Name, 16),
+			seg.VirtAddr,
+			seg.VirtSize,
+			seg.FileOffset,
+			seg.FileSize,
+			seg.Prot1,
+			seg.Prot2,
+			uint32(len(seg.Sections)),
+			seg.Flags,
+		)
+		for _, sect := range seg.Sections {
+			w.encode(
+				zeroPad(sect.Name, 16),
+				zeroPad(seg.Name, 16),
+				sect.Addr,
+				sect.Size,
+				sect.Offset,
+				sect.Align,
+				sect.Reloc,
+				sect.Nreloc,
+				sect.Flags,
+				sect.Res1,
+				sect.Res2,
+				w.if64(uint32(0), nil),
+			)
+		}
+	}
+
+	for _, load := range h.Loads {
+		w.encode(
+			load.Type,
+			uint32(4*(2+len(load.Data))),
+			load.Data,
+		)
+	}
+
+	return w.dst
+}

File src/cmd/link/macho_test.go

+// Copyright 2014 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+	"bytes"
+	"debug/macho"
+	"encoding/binary"
+	"fmt"
+	"io/ioutil"
+	"strings"
+	"testing"
+)
+
+// Test macho writing by checking that each generated prog can be written
+// and then read back using debug/macho to get the same prog.
+// Also check against golden testdata file.
+var machoWriteTests = []struct {
+	name   string
+	golden bool
+	prog   *Prog
+}{
+	// amd64 exit 9
+	{
+		name:   "exit9",
+		golden: true,
+		prog: &Prog{
+			GOARCH:       "amd64",
+			UnmappedSize: 0x1000,
+			Entry:        0x1000,
+			Segments: []*Segment{
+				{
+					Name:       "text",
+					VirtAddr:   0x1000,
+					VirtSize:   13,
+					FileOffset: 0,
+					FileSize:   13,
+					Data: []byte{
+						0xb8, 0x01, 0x00, 0x00, 0x02, // MOVL $0x2000001, AX
+						0xbf, 0x09, 0x00, 0x00, 0x00, // MOVL $9, DI
+						0x0f, 0x05, // SYSCALL
+						0xf4, // HLT
+					},
+					Sections: []*Section{
+						{
+							Name:     "text",
+							VirtAddr: 0x1000,
+							Size:     13,
+							Align:    64,
+						},
+					},
+				},
+			},
+		},
+	},
+