// auto generated by go tool dist

package obj

import "runtime"

const defaultGOROOT = `/tmp/go`
const defaultGO386 = `sse2`
const defaultGOARM = `7`
const defaultGOOS = runtime.GOOS
const defaultGOARCH = runtime.GOARCH
const defaultGO_EXTLINK_ENABLED = ``
const version = `go1.5.1`
const stackGuardMultiplier = 1
const goexperiment = ``
