// Copyright 2015 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 objabi import ( "fmt" "strings" "internal/buildcfg" ) const ( ElfRelocOffset = 256 MachoRelocOffset = 2048 // reserve enough space for ELF relocations GlobalDictPrefix = ".dict" // prefix for names of global dictionaries ) // HeaderString returns the toolchain configuration string written in // Go object headers. This string ensures we don't attempt to import // or link object files that are incompatible with each other. This // string always starts with "go object ". func HeaderString() string { archExtra := "" if k, v := buildcfg.GOGOARCH(); k != "" && v != "" { archExtra = " " + k + "=" + v } return fmt.Sprintf("go object %s %s %s%s X:%s\n", buildcfg.GOOS, buildcfg.GOARCH, buildcfg.Version, archExtra, strings.Join(buildcfg.Experiment.Enabled(), ",")) }