This source file includes following definitions.
- _cgo_allocate_internal
- _cgo_allocate
- _cgo_panic_internal
- _cgo_panic
#include "../runtime.h"
#include "../cgocall.h"
#include "../../../cmd/ld/textflag.h"
#pragma cgo_export_static crosscall2
#pragma cgo_export_dynamic crosscall2
static void
_cgo_allocate_internal(uintptr len, byte *ret)
{
CgoMal *c;
ret = runtime·mal(len);
c = runtime·mal(sizeof(*c));
c->next = m->cgomal;
c->alloc = ret;
m->cgomal = c;
FLUSH(&ret);
}
#pragma cgo_export_static _cgo_allocate
#pragma cgo_export_dynamic _cgo_allocate
#pragma textflag NOSPLIT
void
_cgo_allocate(void *a, int32 n)
{
runtime·cgocallback((void(*)(void))_cgo_allocate_internal, a, n);
}
extern void ·cgoStringToEface(String, Eface*);
static void
_cgo_panic_internal(byte *p)
{
String s;
Eface err;
s = runtime·gostring(p);
·cgoStringToEface(s, &err);
runtime·panic(err);
}
#pragma cgo_export_static _cgo_panic
#pragma cgo_export_dynamic _cgo_panic
#pragma textflag NOSPLIT
void
_cgo_panic(void *a, int32 n)
{
runtime·cgocallback((void(*)(void))_cgo_panic_internal, a, n);
}
#pragma cgo_import_static x_cgo_init
extern void x_cgo_init(G*);
void (*_cgo_init)(G*) = x_cgo_init;
#pragma cgo_import_static x_cgo_malloc
extern void x_cgo_malloc(void*);
void (*_cgo_malloc)(void*) = x_cgo_malloc;
#pragma cgo_import_static x_cgo_free
extern void x_cgo_free(void*);
void (*_cgo_free)(void*) = x_cgo_free;
#pragma cgo_import_static x_cgo_thread_start
extern void x_cgo_thread_start(void*);
void (*_cgo_thread_start)(void*) = x_cgo_thread_start;