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 "funcdata.h" 6#include "textflag.h" 7 8// Assembly function for runtime_test.TestStartLineAsm. 9// 10// Note that this file can't be built directly as part of runtime_test, as assembly 11// files can't declare an alternative package. Building it into runtime is 12// possible, but linkshared complicates things: 13// 14// 1. linkshared mode leaves the function around in the final output of 15// non-test builds. 16// 2. Due of (1), the linker can't resolve the callerStartLine relocation 17// (as runtime_test isn't built for non-test builds). 18// 19// Thus it is simpler to just put this in its own package, imported only by 20// runtime_test. We use ABIInternal as no ABI wrapper is generated for 21// callerStartLine since it is in a different package. 22 23TEXT ·AsmFunc<ABIInternal>(SB),NOSPLIT,$8-0 24 NO_LOCAL_POINTERS 25 MOVQ $0, AX // wantInlined 26 MOVQ ·CallerStartLine(SB), DX 27 CALL (DX) 28 RET 29