mirror of
https://github.com/golang/go
synced 2024-11-24 02:30:12 -07:00
runtime: fix nanotime for macOS Sierra, again.
macOS Sierra beta4 changed the kernel interface for getting time. DX now optionally points to an address for additional info. Set it to zero to avoid corrupting memory. Fixes #16570 Change-Id: I9f537e552682045325cdbb68b7d0b4ddafade14a Reviewed-on: https://go-review.googlesource.com/25400 Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Quentin Smith <quentin@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
6317c213c9
commit
2da5633eb9
@ -196,15 +196,16 @@ timeloop:
|
|||||||
|
|
||||||
systime:
|
systime:
|
||||||
// Fall back to system call (usually first call in this thread)
|
// Fall back to system call (usually first call in this thread)
|
||||||
LEAL 12(SP), AX // must be non-nil, unused
|
LEAL 16(SP), AX // must be non-nil, unused
|
||||||
MOVL AX, 4(SP)
|
MOVL AX, 4(SP)
|
||||||
MOVL $0, 8(SP) // time zone pointer
|
MOVL $0, 8(SP) // time zone pointer
|
||||||
|
MOVL $0, 12(SP) // required as of Sierra; Issue 16570
|
||||||
MOVL $116, AX
|
MOVL $116, AX
|
||||||
INT $0x80
|
INT $0x80
|
||||||
CMPL AX, $0
|
CMPL AX, $0
|
||||||
JNE inreg
|
JNE inreg
|
||||||
MOVL 12(SP), AX
|
MOVL 16(SP), AX
|
||||||
MOVL 16(SP), DX
|
MOVL 20(SP), DX
|
||||||
inreg:
|
inreg:
|
||||||
// sec is in AX, usec in DX
|
// sec is in AX, usec in DX
|
||||||
// convert to DX:AX nsec
|
// convert to DX:AX nsec
|
||||||
|
@ -157,6 +157,7 @@ systime:
|
|||||||
// Fall back to system call (usually first call in this thread).
|
// Fall back to system call (usually first call in this thread).
|
||||||
MOVQ SP, DI
|
MOVQ SP, DI
|
||||||
MOVQ $0, SI
|
MOVQ $0, SI
|
||||||
|
MOVQ $0, DX // required as of Sierra; Issue 16570
|
||||||
MOVL $(0x2000000+116), AX
|
MOVL $(0x2000000+116), AX
|
||||||
SYSCALL
|
SYSCALL
|
||||||
CMPQ AX, $0
|
CMPQ AX, $0
|
||||||
|
Loading…
Reference in New Issue
Block a user