From 58c7b1d160d87a86623b59237888e4ff1efb9a0f Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Wed, 11 Oct 2017 21:51:30 -0400 Subject: [PATCH] runtime: fix dragonfly/amd64 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 Reviewed-by: Ian Lance Taylor --- src/runtime/rt0_dragonfly_amd64.s | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/runtime/rt0_dragonfly_amd64.s b/src/runtime/rt0_dragonfly_amd64.s index 9f7a427d4d..e76f9b9b52 100644 --- a/src/runtime/rt0_dragonfly_amd64.s +++ b/src/runtime/rt0_dragonfly_amd64.s @@ -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) -- 2.48.1