>> __asm__("cgo_problem_example_com_demo.Cgoexp_Dummy"); >> cgo_problem_example.com_demo.Cgoexp_Dummy
> Normally the first name looks more right. I suppose that the reason is that the dot character ('.') while allowed is a bit more special than the rest, right? OK I will keep this in mind. > The go tool will be passing a -fgo-pkgpath option to gccgo and a -gccgopkgpath > option to cgo. You can use "go build -x" to see the exact commands being run. Yes, I knew that but many thanks for reminding - it helped me locate code in gcc right away. > First make sure that those options are the same. I checked and they are the same. > They need to do the same thing. They do not do the same thing. The difference stems from these two chunks of code: https://code.google.com/p/go/source/browse/src/cmd/cgo/out.go?name=go1.3.1#985 The definition of the 'clean' function in (p *Package) gccgoSymbolPrefix() string and https://github.com/gcc-mirror/gcc/blob/gcc-4_9_0-release/gcc/go/gofrontend/gogo.cc#L250 The definition of std::string Gogo::pkgpath_for_symbol(const std::string& pkgpath) The second is allowing two more characters to appear as themselves in the symbol names in addition to the a-z, A-Z, 0-9 ranges. These are '.' and '$'. '$' should be a rare case for the name of a directory/file, but '.' is frequent. Additionally this https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Dollar-Signs.html cautions against '$' - so if they are trouble it will be gcc again to fix, not cgo. I am sending a quick one liner patch via the code review: https://codereview.appspot.com/125470043 Sorry for spamming with several change sets, it was only several attempts that I found the sentence "A file may only belong to a single active CL at a time." in http://golang.org/doc/contribute.html#tmp_11 I wanted to remove '$' and '_' from special treatment in an follow up patch. '$' should be replaced by '_' as cgo does and '_' could be removed to make the two functions: cgo's clear and Gogo's pkgpath_for_symbol sintactically more similar for ease of maintenance. But you can review and point it out there. Kind regards: al_shopov