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)?

-- 
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.

Reply via email to