]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/cgo/asm_386.s
runtime/cgo: store M for C-created thread in pthread key
[gostls13.git] / src / runtime / cgo / asm_386.s
index 2e7e9512e273284f0b65d8864dbc00f7d7ecf3bc..086e20b02f50c3eb9eda89ac5053367ed8ce65b0 100644 (file)
@@ -4,6 +4,14 @@
 
 #include "textflag.h"
 
+// Set the x_crosscall2_ptr C function pointer variable point to crosscall2.
+// It's such a pointer chain: _crosscall2_ptr -> x_crosscall2_ptr -> crosscall2
+TEXT ·set_crosscall2(SB),NOSPLIT,$0-0
+       MOVL    _crosscall2_ptr(SB), AX
+       MOVL    $crosscall2(SB), BX
+       MOVL    BX, (AX)
+       RET
+
 // Called by C code generated by cmd/cgo.
 // func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
 // Saves C callee-saved registers and calls cgocallback with three arguments.