1
0
mirror of https://github.com/golang/go synced 2024-11-08 05:56:12 -07:00
go/src/runtime/rt0_linux_s390x.s
Bill O'Farrell c2efb2fde5 cmd/link: enable c-shared and c-archive mode on s390x
Adding s390x to the list of architectures that support c-shared and c-archive.
Required adding load-time initialization (via _rt0_s390x_linux_lib) and adding s390x
to the c-shared and c-archive tests.

Change-Id: I75883b2891c310fe8ce7f08c27b06895c074e123
Reviewed-on: https://go-review.googlesource.com/74910
Reviewed-by: Michael Munday <mike.munday@ibm.com>
2017-11-17 15:54:54 +00:00

24 lines
676 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.
#include "textflag.h"
TEXT _rt0_s390x_linux(SB), NOSPLIT|NOFRAME, $0
// 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.
MOVD 0(R15), R2 // argc
ADD $8, R15, R3 // argv
BR main(SB)
TEXT _rt0_s390x_linux_lib(SB), NOSPLIT, $0
MOVD $_rt0_s390x_lib(SB), R1
BR R1
TEXT main(SB), NOSPLIT|NOFRAME, $0
MOVD $runtime·rt0_go(SB), R1
BR R1