diff options
Diffstat (limited to 'src/runtime/sys_linux_ppc64x.s')
| -rw-r--r-- | src/runtime/sys_linux_ppc64x.s | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/runtime/sys_linux_ppc64x.s b/src/runtime/sys_linux_ppc64x.s index d063e025a6..56b842ac01 100644 --- a/src/runtime/sys_linux_ppc64x.s +++ b/src/runtime/sys_linux_ppc64x.s @@ -243,6 +243,21 @@ TEXT runtime·_sigtramp(SB),NOSPLIT,$64 MOVD 24(R1), R2 RET +#ifdef GOARCH_ppc64le +// ppc64le doesn't need function descriptors +TEXT runtime·cgoSigtramp(SB),NOSPLIT,$0 +#else +// function descriptor for the real sigtramp +TEXT runtime·cgoSigtramp(SB),NOSPLIT|NOFRAME,$0 + DWORD $runtime·_cgoSigtramp(SB) + DWORD $0 + DWORD $0 +TEXT runtime·_cgoSigtramp(SB),NOSPLIT,$0 +#endif + MOVD $runtime·sigtramp(SB), R12 + MOVD R12, CTR + JMP (CTR) + TEXT runtime·mmap(SB),NOSPLIT|NOFRAME,$0 MOVD addr+0(FP), R3 MOVD n+8(FP), R4 |
