Home | History | Annotate | Download | only in runtime
      1 // Copyright 2016 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // +build linux
      6 // +build mips mipsle
      7 
      8 #include "textflag.h"
      9 
     10 TEXT _rt0_mips_linux(SB),NOSPLIT,$0
     11 	JMP	_main<>(SB)
     12 
     13 TEXT _rt0_mipsle_linux(SB),NOSPLIT,$0
     14 	JMP	_main<>(SB)
     15 
     16 TEXT _main<>(SB),NOSPLIT,$-4
     17 	// In a statically linked binary, the stack contains argc,
     18 	// argv as argc string pointers followed by a NULL, envv as a
     19 	// sequence of string pointers followed by a NULL, and auxv.
     20 	// There is no TLS base pointer.
     21 	MOVW	0(R29), R4 // argc
     22 	ADD	$4, R29, R5 // argv
     23 	JMP	main(SB)
     24 
     25 TEXT main(SB),NOSPLIT,$-4
     26         // In external linking, libc jumps to main with argc in R4, argv in R5
     27 	MOVW	$runtimert0_go(SB), R1
     28 	JMP	(R1)
     29