runtime: fix wall time computation in macOS High Sierra
runtime: fix wall time computation in macOS High Sierra

Latest macOS High Sierra changed how the wall time information
is exported into the commpage. Backward compatibility was partly
preserved, that is previous Go versions are basically forced to
go through a syscall which is much slower and is not able to
get nanosecond precision.

Implement the new commpage layout and wall time computation,
using a version check to fallback to the previous code on
older operating systems.

Fixes #22037

Change-Id: I8c2176eaca83a5d7be23443946a6b4c653ec7f68
Reviewed-on: https://go-review.googlesource.com/67332
Run-TryBot: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>

codestation/go,Cofyc/go,cloudflare/go,Cofyc/go,josharian/go,akutz/go,CAFxX/go,Cofyc/go,CAFxX/go,josharian/go,nawawi/go,CAFxX/go,josharian/go,akutz/go,akutz/go,Cofyc/go,codestation/go,polyverse-security/go,nawawi/go,josharian/go,Cofyc/go,josharian/go,cloudflare/go,CAFxX/go,josharian/go,akutz/go,codestation/go,nawawi/go,polyverse-security/go,codestation/go,Cofyc/go,polyverse-security/go,golang/go,nawawi/go,golang/go,akutz/go,nawawi/go,polyverse-security/go,codestation/go,nawawi/go,cloudflare/go,codestation/go,nawawi/go,cloudflare/go,polyverse-security/go,codestation/go,cloudflare/go,Cofyc/go,golang/go,polyverse-security/go,polyverse-security/go,cloudflare/go,akutz/go,CAFxX/go,golang/go,Cofyc/go,golang/go,codestation/go,cloudflare/go,polyverse-security/go,CAFxX/go,cloudflare/go,josharian/go,christopher-henderson/Go,golang/go,josharian/go,akutz/go,nawawi/go,CAFxX/go,golang/go,CAFxX/go,golang/go,akutz/go