// library is loaded. For static libraries it is called when the
// final executable starts, during the C runtime initialization
// phase.
-TEXT _rt0_amd64_windows_lib(SB),NOSPLIT,$0x28
- MOVQ BP, 0x00(SP)
- MOVQ BX, 0x08(SP)
- MOVQ AX, 0x10(SP)
- MOVQ CX, 0x18(SP)
- MOVQ DX, 0x20(SP)
+// Leave space for four pointers on the stack as required
+// by the Windows amd64 calling convention.
+TEXT _rt0_amd64_windows_lib(SB),NOSPLIT,$0x48
+ MOVQ BP, 0x20(SP)
+ MOVQ BX, 0x28(SP)
+ MOVQ AX, 0x30(SP)
+ MOVQ CX, 0x38(SP)
+ MOVQ DX, 0x40(SP)
// Create a new thread to do the runtime initialization and return.
MOVQ _cgo_sys_thread_create(SB), AX
MOVQ $0, DX
CALL AX
- MOVQ 0x00(SP), BP
- MOVQ 0x08(SP), BX
- MOVQ 0x10(SP), AX
- MOVQ 0x18(SP), CX
- MOVQ 0x20(SP), DX
+ MOVQ 0x20(SP), BP
+ MOVQ 0x28(SP), BX
+ MOVQ 0x30(SP), AX
+ MOVQ 0x38(SP), CX
+ MOVQ 0x40(SP), DX
RET
TEXT _rt0_amd64_windows_lib_go(SB),NOSPLIT,$0