While gapstone compiles fine with gc, I noticed it doesn't work gccgo. I reported it to the Go team at https://github.com/golang/go/issues/9294 and it turns out we can't declare trampoline() and use it within the same file because of a chicken and egg problem. The solution is to move the declaration of trampoline into its own file, then it compiles both with gc and gccgo.
While gapstone compiles fine with gc, I noticed it doesn't work gccgo. I reported it to the Go team at https://github.com/golang/go/issues/9294 and it turns out we can't declare trampoline() and use it within the same file because of a chicken and egg problem. The solution is to move the declaration of trampoline into its own file, then it compiles both with gc and gccgo.