On Fri, Dec 15, 2017 at 3:08 AM, Ally Dale <vipa...@gmail.com> wrote: > Hi all, > I just need a function to report the timestamp when my app compiled. > > func main() { > > > unix := runtime.BuildTimestamp() > > > t := time.Unix(unix, 0) > > > println("hello world") > > > println("buildtimestamp:", unix) > > > println("buildtime :", t.String()) > > > // Output: > > > // hello world > > > // buildtimestamp: 1513329454 > > > // buildtime : 2017-12-15 17:17:34 +0800 CST > > > } > > > > [runtime.BuildTimestamp()](https://github.com/vipally/go/blob/ally_build_time/src/runtime/symtab.go#L399) > use a variable defined in > [runtime.firstmoduledata.buildtimestamp](https://github.com/vipally/go/blob/ally_build_time/src/runtime/symtab.go#L372) > which will be written by > [cmd/link](https://github.com/vipally/go/blob/ally_build_time/src/cmd/link/internal/ld/symtab.go#L562) > > My trouble is, if cmd/link use time.Now().Unix() to get unix timestamp, it > will make a new dependence of time for cmd/link. > And this dependence will cause a STALE error when go_bootstrap building. > go tool dist: unexpected stale targets reported by > E:\go\pkg\tool\windows_amd64\go_bootstrap list -gcflags="" -ldflags="" > for [cmd/asm cmd/cgo cmd/compile cmd/link runtime/internal/sys]: > STALE cmd/asm: stale dependency: runtime/internal/atomic > STALE cmd/cgo: stale dependency: runtime/internal/atomic > STALE cmd/compile: stale dependency: runtime/internal/atomic > STALE cmd/link: stale dependency: runtime/internal/atomic > STALE runtime/internal/sys: build ID mismatch > > > So, my question is, if I cannot use time.Now().Unix() or runtime.now() to > get unix timestamp in cmd/link. How can I get unix timestamp in > linker(cmd/link)?
Use something like -ldflags=-X=`VAR=date`. The -X option is documented at https://golang.org/cmd/link. Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.