]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix dragonfly/amd64
authorAustin Clements <austin@google.com>
Thu, 12 Oct 2017 01:51:30 +0000 (21:51 -0400)
committerIan Lance Taylor <iant@golang.org>
Thu, 12 Oct 2017 04:03:50 +0000 (04:03 +0000)
CL 69292 unified the amd64 entry-points, but Dragonfly doesn't follow
the same entry-point argument conventions as most other amd64
platforms. Fix the Dragonfly entry point.

Change-Id: I0f84e2e4101ce68217af185ee9baaf455b8b6dad
Reviewed-on: https://go-review.googlesource.com/70212
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/rt0_dragonfly_amd64.s

index 9f7a427d4da705cbb6b3b4e4c691c11de5b5a1e7..e76f9b9b52058750a3eff77ba2b8076b0d936f79 100644 (file)
@@ -4,8 +4,11 @@
 
 #include "textflag.h"
 
+// On Dragonfly argc/argv are passed in DI, not SP, so we can't use _rt0_amd64.
 TEXT _rt0_amd64_dragonfly(SB),NOSPLIT,$-8
-       JMP     _rt0_amd64(SB)
+       LEAQ    8(DI), SI // argv
+       MOVQ    0(DI), DI // argc
+       JMP     runtime·rt0_go(SB)
 
 TEXT _rt0_amd64_dragonfly_lib(SB),NOSPLIT,$0
        JMP     _rt0_amd64_lib(SB)