?c and ?g use the same calling convention, and segmented stacks are implemented by the linker. You don't need cgo in order to call C code from Go. Why do you want cgo?
Look at the various C files in the Go standard library, especially inside runtime. Those are compiled with the Plan 9 compiler and Go calls it just fine. -- Aram Hăvărneanu