Text file src/runtime/rt0_linux_loong64.s

     1  // Copyright 2022 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  #include "textflag.h"
     6  
     7  TEXT _rt0_loong64_linux(SB),NOSPLIT|NOFRAME,$0
     8  	// In a statically linked binary, the stack contains argc,
     9  	// argv as argc string pointers followed by a NULL, envv as a
    10  	// sequence of string pointers followed by a NULL, and auxv.
    11  	// There is no TLS base pointer.
    12  	MOVW	0(R3), R4	// argc
    13  	ADDV	$8, R3, R5	// argv
    14  	JMP	main(SB)
    15  
    16  // When building with -buildmode=c-shared, this symbol is called when the shared
    17  // library is loaded.
    18  TEXT _rt0_loong64_linux_lib(SB),NOSPLIT,$0
    19  	JMP	_rt0_loong64_lib(SB)
    20  
    21  TEXT main(SB),NOSPLIT|NOFRAME,$0
    22  	// in external linking, glibc jumps to main with argc in R4
    23  	// and argv in R5
    24  
    25  	MOVV	$runtime·rt0_go(SB), R19
    26  	JMP	(R19)
    27  

View as plain text