// auto generated by go tool dist

package objabi

import "runtime"

const defaultGOROOT = `./prebuilts/go/linux-x86`
const defaultGO386 = `sse2`
const defaultGOARM = `5`
const defaultGOOS = runtime.GOOS
const defaultGOARCH = runtime.GOARCH
const defaultGO_EXTLINK_ENABLED = ``
const version = `go1.9rc2`
const stackGuardMultiplier = 1
const goexperiment = ``
