My gollvm version is commit 29005f52b3501c489cb1653506cd479d5a178e98 (HEAD -> master, origin/master, origin/HEAD) Author: Cherry Zhang <...> Date: Sat Jun 29 00:25:46 2019 -0400
bridge: support builtin memset Change-Id: I7321f57e0d58c0ff5c3a19f7cbf5721fabbf1263 Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/184439 Reviewed-by: Than McIntosh <...> gofrontend version is commit 7a8e10be0ddb8909ce25a264d03b24cee4df60cc (HEAD -> master, origin/master, origin/HEAD) Author: Cherry Zhang <...> Date: Wed Jul 3 15:55:19 2019 -0400 compiler: optimize 0,1,2-case select statement For a select statement with zero-, one-, or two-case with a default case, we can generate simpler code instead of calling the generic selectgo. A zero-case select is just blocking the execution. A one-case select is mostly just executing the case. A two-case select with a default case is a non-blocking send or receive. We add these special cases for lowering a select statement. Change-Id: I519d246a4a5ba6871bb303160bba1ec1e3074bd0 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184998 Reviewed-by: Ian Lance Taylor <...> I retry to pull gollvm from https://go.googlesource.com/gollvm but it tells me I'm already up to date. Thanks. On Tuesday, July 9, 2019 at 10:03:11 PM UTC+8, Than McIntosh wrote: > > That stack trace looks a lot like > > https://github.com/golang/go/issues/32778 > > which was fixed last week. What vintage is your gollvm? > > Thanks, Than > > > On Tue, Jul 9, 2019 at 9:54 AM Yuan Ting <yuan...@ict.ac.cn <javascript:>> > wrote: > >> In addition, I also failed to build etcd. >> >> $ git clone https://github.com/etcd-io/etcd.git >> $ cd etcd/ && ./build >> go build: when using gccgo toolchain, please pass linker flags using >> -gccgoflags, not -ldflags >> # go.etcd.io/etcd/etcdserver/api/rafthttp >> #0 0x000055ecc4cfa34a llvm::sys::PrintStackTrace(llvm::raw_ostream&) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0xa6c34a) >> #1 0x000055ecc4cf8124 llvm::sys::RunSignalHandlers() >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0xa6a124) >> #2 0x000055ecc4cf8262 SignalHandler(int) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0xa6a262) >> #3 0x00007fbbd49d5890 __restore_rt >> (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890) >> #4 0x000055ecc44f0940 Export::type_index(Type const*) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x262940) >> #5 0x000055ecc44f0c31 Export::write_type(Type const*) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x262c31) >> #6 0x000055ecc449f2e1 Named_type::do_export(Export*) const >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x2112e1) >> #7 0x000055ecc44f10ce Export::write_type_definition(Type const*, int) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x2630ce) >> #8 0x000055ecc44f1390 Export::write_types(int) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x263390) >> #9 0x000055ecc44fcea0 >> Export::export_globals(std::__cxx11::basic_string<char, >> std::char_traits<char>, std::allocator<char> > const&, >> std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> > const&, std::__cxx11::basic_string<char, >> std::char_traits<char>, std::allocator<char> > const&, >> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> >, Package*, >> std::less<std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> > >, >> std::allocator<std::pair<std::__cxx11::basic_string<char, >> std::char_traits<char>, std::allocator<char> > const, Package*> > > const&, >> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> >, Package*, >> std::less<std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> > >, >> std::allocator<std::pair<std::__cxx11::basic_string<char, >> std::char_traits<char>, std::allocator<char> > const, Package*> > > const&, >> std::__cxx11::basic_string<char, std::char_traits<char>, >> std::allocator<char> > const&, Import_init_set const&, Bindings const*) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x26eea0) >> #10 0x000055ecc4457047 Gogo::do_exports() >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x1c9047) >> #11 0x000055ecc4441a90 go_parse_input_files(char const**, unsigned int, >> bool, bool) (/home/yt/LLVMsvn/install/bin/llvm-goc+0x1b3a90) >> #12 0x000055ecc442ee69 gollvm::driver::CompileGoImpl::invokeFrontEnd() >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x1a0e69) >> #13 0x000055ecc4436ee5 >> gollvm::driver::CompileGoImpl::performAction(gollvm::driver::Compilation&, >> gollvm::driver::Action const&, llvm::SmallVector<gollvm::driver::Artifact*, >> 3u> const&, gollvm::driver::Artifact const&) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x1a8ee5) >> #14 0x000055ecc442950f >> gollvm::driver::Driver::processAction(gollvm::driver::Action*, >> gollvm::driver::Compilation&, bool) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x19b50f) >> #15 0x000055ecc44296af >> gollvm::driver::Driver::processActions(gollvm::driver::Compilation&) >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x19b6af) >> #16 0x000055ecc43cf403 main >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x141403) >> #17 0x00007fbbd386db97 __libc_start_main >> /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:344:0 >> #18 0x000055ecc442130a _start >> (/home/yt/LLVMsvn/install/bin/llvm-goc+0x19330a) >> Stack dump: >> 0. Program arguments: /home/yt/LLVMsvn/install/bin/llvm-goc -c -O2 -g >> -m64 -fdebug-prefix-map=/tmp/go-build979597534=/tmp/go-build >> -gno-record-gcc-switches -fgo-pkgpath= >> go.etcd.io/etcd/etcdserver/api/rafthttp -o $WORK/b192/_go_.o -I >> $WORK/b192/_importcfgroot_ etcdserver/api/rafthttp/coder.go >> etcdserver/api/rafthttp/doc.go etcdserver/api/rafthttp/http.go >> etcdserver/api/rafthttp/metrics.go etcdserver/api/rafthttp/msg_codec.go >> etcdserver/api/rafthttp/msgappv2_codec.go etcdserver/api/rafthttp/peer.go >> etcdserver/api/rafthttp/peer_status.go etcdserver/api/rafthttp/pipeline.go >> etcdserver/api/rafthttp/probing_status.go etcdserver/api/rafthttp/remote.go >> etcdserver/api/rafthttp/snapshot_sender.go >> etcdserver/api/rafthttp/stream.go etcdserver/api/rafthttp/transport.go >> etcdserver/api/rafthttp/urlpick.go etcdserver/api/rafthttp/util.go >> >> I have no idea of this failure (may be caused by CGO_ENABLED=0 in >> etcd/build?), please take a look together. >> >> Thanks. >> >> On Tuesday, July 9, 2019 at 9:10:55 PM UTC+8, Than McIntosh wrote: >>> >>> Hi, >>> I'll take a look later this morning; off the top of my head I'm not sure >>> what the issue might be. >>> Question: are you building with modules enabled? >>> Thanks ,Than >>> >>> >>> On Mon, Jul 8, 2019 at 11:05 PM Yuan Ting <yuan...@ict.ac.cn> wrote: >>> >>>> Hi, I'm working on converting some Go projects to llvm IR for static >>>> analysis. When I build kubernetes with gollvm, an unexpected error >>>> occurred >>>> as : >>>> >>>> I0709 10:48:29.158892 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_StatusDetails is not copyable >>>> I0709 10:48:29.158899 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_TypeMeta is not copyable >>>> I0709 10:48:29.158906 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_UpdateOptions is not copyable >>>> I0709 10:48:29.158915 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.scheme is not copyable >>>> I0709 10:48:29.158922 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.skipGenerated is not copyable >>>> I0709 10:48:29.158929 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.sovGenerated is not copyable >>>> I0709 10:48:29.158937 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.sozGenerated is not copyable >>>> I0709 10:48:29.158944 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.valueToStringGenerated is not >>>> copyable >>>> F0709 10:48:29.165681 16573 deepcopy.go:866] Hit an unsupported type >>>> invalid type. >>>> !!! Error in ./hack/run-in-gopath.sh:33 >>>> Error in ./hack/run-in-gopath.sh:33. '"${@}"' exited with status 255 >>>> Call stack: >>>> 1: ./hack/run-in-gopath.sh:33 main(...) >>>> Exiting with status 1 >>>> Makefile.generated_files:152: recipe for target 'gen_deepcopy' failed >>>> make[1]: *** [gen_deepcopy] Error 1 >>>> Makefile:523: recipe for target 'generated_files' failed >>>> make: *** [generated_files] Error 2 >>>> >>>> The commands I have used are >>>> >>>> go get -d k8s.io/kubernetes # In this step I'm using the main Go compiler >>>> cd $GOPATH/src/k8s.io/kubernetes >>>> KUBE_VERBOSE=4 <http://k8s.io/kubernetesKUBE_VERBOSE=4> DBG_CODEGEN=1 make >>>> GOFLAGS="-x -work" # In this step I switched to gollvm >>>> >>>> my gollvm version is >>>> >>>> go version go1.12.2 gollvm LLVM 9.0.0svn linux/amd64 >>>> >>>> The fatal error raised at >>>> https://github.com/kubernetes/kubernetes/blob/master/vendor/k8s.io/gengo/examples/deepcopy-gen/generators/deepcopy.go#L866 >>>> >>>> Is this an error caused by using gollvm (while the main Go compiler >>>> works fine), or an error due to other misalignments? >>>> >>>> Thanks. >>>> >>>> -- >>>> 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 golan...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/c9572f0e-1db2-4407-8b68-bd904c928699%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/golang-nuts/c9572f0e-1db2-4407-8b68-bd904c928699%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >> On Tuesday, July 9, 2019 at 9:10:55 PM UTC+8, Than McIntosh wrote: >>> >>> Hi, >>> I'll take a look later this morning; off the top of my head I'm not sure >>> what the issue might be. >>> Question: are you building with modules enabled? >>> Thanks ,Than >>> >>> >>> On Mon, Jul 8, 2019 at 11:05 PM Yuan Ting <yuan...@ict.ac.cn> wrote: >>> >>>> Hi, I'm working on converting some Go projects to llvm IR for static >>>> analysis. When I build kubernetes with gollvm, an unexpected error >>>> occurred >>>> as : >>>> >>>> I0709 10:48:29.158892 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_StatusDetails is not copyable >>>> I0709 10:48:29.158899 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_TypeMeta is not copyable >>>> I0709 10:48:29.158906 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.map_UpdateOptions is not copyable >>>> I0709 10:48:29.158915 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.scheme is not copyable >>>> I0709 10:48:29.158922 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.skipGenerated is not copyable >>>> I0709 10:48:29.158929 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.sovGenerated is not copyable >>>> I0709 10:48:29.158937 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.sozGenerated is not copyable >>>> I0709 10:48:29.158944 16573 deepcopy.go:266] Type >>>> k8s.io/apimachinery/pkg/apis/meta/v1.valueToStringGenerated is not >>>> copyable >>>> F0709 10:48:29.165681 16573 deepcopy.go:866] Hit an unsupported type >>>> invalid type. >>>> !!! Error in ./hack/run-in-gopath.sh:33 >>>> Error in ./hack/run-in-gopath.sh:33. '"${@}"' exited with status 255 >>>> Call stack: >>>> 1: ./hack/run-in-gopath.sh:33 main(...) >>>> Exiting with status 1 >>>> Makefile.generated_files:152: recipe for target 'gen_deepcopy' failed >>>> make[1]: *** [gen_deepcopy] Error 1 >>>> Makefile:523: recipe for target 'generated_files' failed >>>> make: *** [generated_files] Error 2 >>>> >>>> The commands I have used are >>>> >>>> go get -d k8s.io/kubernetes # In this step I'm using the main Go compiler >>>> cd $GOPATH/src/k8s.io/kubernetes >>>> KUBE_VERBOSE=4 <http://k8s.io/kubernetesKUBE_VERBOSE=4> DBG_CODEGEN=1 make >>>> GOFLAGS="-x -work" # In this step I switched to gollvm >>>> >>>> my gollvm version is >>>> >>>> go version go1.12.2 gollvm LLVM 9.0.0svn linux/amd64 >>>> >>>> The fatal error raised at >>>> https://github.com/kubernetes/kubernetes/blob/master/vendor/k8s.io/gengo/examples/deepcopy-gen/generators/deepcopy.go#L866 >>>> >>>> Is this an error caused by using gollvm (while the main Go compiler >>>> works fine), or an error due to other misalignments? >>>> >>>> Thanks. >>>> >>>> -- >>>> 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 golan...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/c9572f0e-1db2-4407-8b68-bd904c928699%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/golang-nuts/c9572f0e-1db2-4407-8b68-bd904c928699%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> 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 golan...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/cbdb54a2-4989-4989-8298-690b1e5a9f10%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/cbdb54a2-4989-4989-8298-690b1e5a9f10%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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/ae1c6a36-b5ec-4ca8-b488-3e4bbe4ac775%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.