> The Go runtime and standard library has a public, exported API; this sort of use of go:linkname to reach into the internals of a standard package (in this case, calling an unexported function) is not supported. The limitation to access private functions in std package sounds reasonable.
> You can run the tag 'codec.safe' to run tests or build in safe mode. e.g. > go test -tags codec.safe -run Json > go test -tags "alltests codec.safe" -run Suite thanks for your advice, but I'm not aiming at this project. I just wonder whether gollvm is adaptable to large-scale projects and why this case fails is enough ^ _ ^ The problem cause by reflect.unsafe_New can be seen solved. Welcome to add something if anyone has a better answer~ --------------------------------------------------- Then I wonder why gollvm work failed with pthread_join which is a C lib function I wrote a demo: ``` package main /* #cgo CFLAGS: -I./ #cgo LDFLAGS: -L./ #include "ccode.h" */ import "C" import ( "fmt" ) func main() { v := C.try_pthread() fmt.Println(v) } ``` ``` # include <stdio.h> # include "ccode.h" # include <pthread.h> int try_pthread(){ pthread_t id; int ret, i = 0; ret = pthread_create(&id,NULL,(void *)thread,NULL); for(i=0;i<=5;i++) { printf("This is main thread %d\n",i); //sleep(1); } pthread_join(id,NULL); //gets(); return 0; } void thread() { int i=0; for(i=0;i<=5;i++) { printf("this is thread %d\n",i); // sleep(); } } ``` pthread_create() works well in gollvm but pthread_join() failed... 在2021年3月29日星期一 UTC+8 下午8:40:34<peterGo> 写道: > On Monday, March 29, 2021 at 8:32:53 AM UTC-4 peterGo wrote: > >> You haven't said whether you followed the "safe" instructions for >> github.com/ugorji/go/codec to avoid building code/helper_unsafe.go, >> which uses go:linkname. >> >> > s/code/helper_unsafe.go/codec/helper_unsafe.go/ > > Peter > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/93edfaf0-2d32-4496-aaa5-9b3b60cf23b6n%40googlegroups.com.