summaryrefslogtreecommitdiffstats
path: root/src/runtime/internal/startlinetest/func_amd64.s
blob: 96982bedab82c502d3a6e846238bb2d0e1926094 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright 2022 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 "funcdata.h"
#include "textflag.h"

// Assembly function for runtime_test.TestStartLineAsm.
//
// Note that this file can't be built directly as part of runtime_test, as assembly
// files can't declare an alternative package. Building it into runtime is
// possible, but linkshared complicates things:
//
//  1. linkshared mode leaves the function around in the final output of
//     non-test builds.
//  2. Due of (1), the linker can't resolve the callerStartLine relocation
//     (as runtime_test isn't built for non-test builds).
//
// Thus it is simpler to just put this in its own package, imported only by
// runtime_test. We use ABIInternal as no ABI wrapper is generated for
// callerStartLine since it is in a different package.

TEXT	·AsmFunc<ABIInternal>(SB),NOSPLIT,$8-0
	NO_LOCAL_POINTERS
	MOVQ	$0, AX // wantInlined
	MOVQ	·CallerStartLine(SB), DX
	CALL	(DX)
	RET