From b51989bcee8aa7e0742bbcf15a2940aa04f9f244 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sun, 30 May 2010 22:22:47 -0700 Subject: Correct _cgo_free when C ABI does not pass first arg on stack. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It turns out that _cgo_malloc is used, via cmalloc in runtime/cgocall.c, which is called by code generated by out.go for the ·_C_CString function. I can't find a call to _cgo_free, but given _cgo_malloc we might as well keep _cgo_free. This patch fixes it so that it should work on amd64. R=rsc CC=golang-dev http://codereview.appspot.com/1399041 --- src/cmd/cgo/out.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/cmd') diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 2fae48fe4..e58923ab2 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -568,7 +568,7 @@ const cProlog = ` #pragma dynimport libcgo_thread_start libcgo_thread_start "%s/libcgo.so" #pragma dynimport libcgo_set_scheduler libcgo_set_scheduler "%s/libcgo.so" #pragma dynimport _cgo_malloc _cgo_malloc "%s/libcgo.so" -#pragma dynimport _cgo_free free "%s/libcgo.so" +#pragma dynimport _cgo_free _cgo_free "%s/libcgo.so" void ·_C_GoString(int8 *p, String s) -- cgit v1.2.3