| // 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 |