1
0
mirror of https://github.com/golang/go synced 2024-11-19 13:54:56 -07:00
go/src/runtime/rt0_linux_mipsx.s
Vladimir Stefanovic b909d01152 runtime: add cgo support for GOARCH=mips{,le}
Change-Id: Ib425ead7b340672837d3cb983bd785488706bd6d
Reviewed-on: https://go-review.googlesource.com/34314
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 23:52:33 +00:00

29 lines
791 B
ArmAsm

// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build linux
// +build mips mipsle
#include "textflag.h"
TEXT _rt0_mips_linux(SB),NOSPLIT,$0
JMP _main<>(SB)
TEXT _rt0_mipsle_linux(SB),NOSPLIT,$0
JMP _main<>(SB)
TEXT _main<>(SB),NOSPLIT,$-4
// In a statically linked binary, the stack contains argc,
// argv as argc string pointers followed by a NULL, envv as a
// sequence of string pointers followed by a NULL, and auxv.
// There is no TLS base pointer.
MOVW 0(R29), R4 // argc
ADD $4, R29, R5 // argv
JMP main(SB)
TEXT main(SB),NOSPLIT,$-4
// In external linking, libc jumps to main with argc in R4, argv in R5
MOVW $runtime·rt0_go(SB), R1
JMP (R1)