Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gollvm: error: no matching function for call to llvm::LoadInst::LoadInst(llvm::Type*&, llvm::Value*&, std::string&) #39109

Closed
codersguild opened this issue May 16, 2020 · 14 comments
Assignees
Milestone

Comments

@codersguild
Copy link

@codersguild codersguild commented May 16, 2020

What version of Go are you using (go version)?

$ go version
go version go1.12.10 linux/amd64

Does this issue reproduce with the latest release?

Yes.
I cloned the lastest version from
https://go.googlesource.com/gollvm/

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ns1server/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ns1server/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go-1.12"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.12/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build459238245=/tmp/go-build -gno-record-gcc-switches"

What did you do?

I fixed one of the issues with MaybeAlign(). I changed it to Align() from llvm:Align().
I am trying a ninja build for gollvm using cmake & ninja-build.

I am getting the error as shown below.

/home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm.cpp:616:74: error: no matching function for call to ‘llvm::LoadInst::LoadInst(llvm::Type*&, llvm::Value*&, std::string&)’
  616 |     llvm::Instruction *loadInst = new llvm::LoadInst(vt, spaceVal, ldname);
      |                                                                          ^
In file included from /home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/IRBuilder.h:33,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm-irbuilders.h:18,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm-builtins.h:18,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm.cpp:15:
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:198:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::BasicBlock*)’
  198 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:198:3: note:   candidate expects 8 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:194:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Instruction*)’
  194 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:194:3: note:   candidate expects 8 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:192:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::BasicBlock*)’
  192 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:192:3: note:   candidate expects 6 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:190:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::Instruction*)’
  190 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:190:3: note:   candidate expects 6 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:188:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::BasicBlock*)’
  188 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:188:3: note:   candidate expects 5 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:186:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Instruction*)’
  186 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:186:3: note:   candidate expects 5 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:185:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, llvm::BasicBlock*)’
  185 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, BasicBlock *InsertAtEnd);
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:185:3: note:   candidate expects 4 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:183:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, llvm::Instruction*)’
  183 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:183:3: note:   candidate expects 4 arguments, 3 provided

What did you expect to see?

A proper build success result.

What did you see instead?

An Error.

/home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm.cpp:616:74: error: no matching function for call to ‘llvm::LoadInst::LoadInst(llvm::Type*&, llvm::Value*&, std::string&)’
  616 |     llvm::Instruction *loadInst = new llvm::LoadInst(vt, spaceVal, ldname);
      |                                                                          ^
In file included from /home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/IRBuilder.h:33,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm-irbuilders.h:18,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm-builtins.h:18,
                 from /home/ns1server/workarea/llvm-project/llvm/tools/gollvm/bridge/go-llvm.cpp:15:
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:198:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::BasicBlock*)’
  198 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:198:3: note:   candidate expects 8 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:194:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Instruction*)’
  194 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:194:3: note:   candidate expects 8 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:192:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::BasicBlock*)’
  192 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:192:3: note:   candidate expects 6 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:190:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Align, llvm::Instruction*)’
  190 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:190:3: note:   candidate expects 6 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:188:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::BasicBlock*)’
  188 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:188:3: note:   candidate expects 5 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:186:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, bool, llvm::Instruction*)’
  186 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, bool isVolatile,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:186:3: note:   candidate expects 5 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:185:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, llvm::BasicBlock*)’
  185 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr, BasicBlock *InsertAtEnd);
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:185:3: note:   candidate expects 4 arguments, 3 provided
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:183:3: note: candidate: ‘llvm::LoadInst::LoadInst(llvm::Type*, llvm::Value*, const llvm::Twine&, llvm::Instruction*)’
  183 |   LoadInst(Type *Ty, Value *Ptr, const Twine &NameStr,
      |   ^~~~~~~~
/home/ns1server/workarea/llvm-project/llvm/include/llvm/IR/Instructions.h:183:3: note:   candidate expects 4 arguments, 3 provided
```.
@ALTree ALTree changed the title [GOLLVM] error: no matching function for call to ‘llvm::LoadInst::LoadInst(llvm::Type*&, llvm::Value*&, std::string&)’ gollvm: error: no matching function for call to llvm::LoadInst::LoadInst(llvm::Type*&, llvm::Value*&, std::string&) May 16, 2020
@ALTree
Copy link
Member

@ALTree ALTree commented May 16, 2020

cc @thanm

@ALTree ALTree added this to the gollvm milestone May 16, 2020
@codersguild
Copy link
Author

@codersguild codersguild commented May 16, 2020

Any way to fix it? I see that the llvm trunk has a different signature for LoadInst() function.

@thanm thanm self-assigned this May 16, 2020
@thanm
Copy link
Member

@thanm thanm commented May 16, 2020

There has been a lot of churn on LLVM trunk lately relating to alignment -- this is another example. I'll send a CL on Monday to fix it up. In the mean time, try rolling back your LLVM client to e53d4869a0d, that's the most recent version I've verified.

@codersguild
Copy link
Author

@codersguild codersguild commented May 17, 2020

Thanks for this. It works but gold fails to build & link some go packages in libffi .
due to stack split error. I guess it is a problem with gold and not with gollvm itself.

https://github.com/libffi/libffi.git

@thanm
Copy link
Member

@thanm thanm commented May 17, 2020

Thanks for this. It works but gold fails to build & link some go packages in libffi .
due to stack split error. I guess it is a problem with gold and not with gollvm itself.

I tried building just now with tip libffi and I don't see any issues. Could you please attach the build log that shows the problem?

It would be useful also to know what version of linux you are running. Wondering if this new issue might relate to -fcf-protection=branch (see #38728).

@gopherbot
Copy link

@gopherbot gopherbot commented May 17, 2020

Change https://golang.org/cl/234337 mentions this issue: gollvm: sync with trunk

@thanm
Copy link
Member

@thanm thanm commented May 18, 2020

@codersguild I have submitted https://golang.org/cl/234337 -- let me know if you are seeing any other problems, so I can close out this bug. Thanks.

@codersguild
Copy link
Author

@codersguild codersguild commented May 18, 2020

Thanks.
Not facing any other issue except for libffi.

@thanm
Copy link
Member

@thanm thanm commented May 18, 2020

Thanks. Still happy to look at the libffi / gold issues if you want to post the build log that shows the error.

@codersguild
Copy link
Author

@codersguild codersguild commented May 18, 2020

I will definitely do that. Thanks.
I will close this issue.

@codersguild
Copy link
Author

@codersguild codersguild commented May 25, 2020

Sorry for the delay. @thanm
This is the error I am getting when I am using ninja to build gollvm.

I will definitely do that. Thanks.
I will close this issue.

The main issue is with failed to match split-stack sequence at section 5 offset 0.

/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-assert.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-caller.c.o: failed to match split-stack sequence at section 11 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-caller.c.o: failed to match split-stack sequence at section 13 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-caller.c.o: failed to match split-stack sequence at section 15 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-caller.c.o: failed to match split-stack sequence at section 17 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-cdiv.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-cdiv.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-cgo.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-cgo.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-fieldtrack.c.o: failed to match split-stack sequence at section 7 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 10 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 12 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 14 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 16 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 18 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 20 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 22 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 24 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 26 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 28 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-nosys.c.o: failed to match split-stack sequence at section 30 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-reflect-call.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-setenv.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-unsetenv.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 10 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 12 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 14 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 16 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 18 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/go-varargs.c.o: failed to match split-stack sequence at section 20 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/env_posix.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/panic.c.o: failed to match split-stack sequence at section 9 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/print.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/runtime/print.c.o: failed to match split-stack sequence at section 10 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/log/syslog/syslog_c.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/reflect/makefunc_ffi_c.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/errno.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libgo_c_piclib.dir/__/gofrontend/libgo/go/syscall/signame.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/backtrace.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/backtrace.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/dwarf.c.o: failed to match split-stack sequence at section 18 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/dwarf.c.o: failed to match split-stack sequence at section 79 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/dwarf.c.o: failed to match split-stack sequence at section 82 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/elf.c.o: failed to match split-stack sequence at section 31 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/elf.c.o: failed to match split-stack sequence at section 35 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/fileline.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/fileline.c.o: failed to match split-stack sequence at section 10 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/mmapio.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/mmapio.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/mmap.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/mmap.c.o: failed to match split-stack sequence at section 7 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/mmap.c.o: failed to match split-stack sequence at section 9 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/posix.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/posix.c.o: failed to match split-stack sequence at section 7 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/print.c.o: failed to match split-stack sequence at section 5 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/print.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/print.c.o: failed to match split-stack sequence at section 10 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/simple.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/simple.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libbacktrace_piclib.dir/libbacktrace/state.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/closures.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/closures.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/closures.c.o: failed to match split-stack sequence at section 14 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/closures.c.o: failed to match split-stack sequence at section 22 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/closures.c.o: failed to match split-stack sequence at section 26 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/raw_api.c.o: failed to match split-stack sequence at section 8 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/raw_api.c.o: failed to match split-stack sequence at section 12 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/raw_api.c.o: failed to match split-stack sequence at section 14 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/java_raw_api.c.o: failed to match split-stack sequence at section 4 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/java_raw_api.c.o: failed to match split-stack sequence at section 6 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/java_raw_api.c.o: failed to match split-stack sequence at section 12 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/java_raw_api.c.o: failed to match split-stack sequence at section 14 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o: failed to match split-stack sequence at section 12 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o: failed to match split-stack sequence at section 20 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o: failed to match split-stack sequence at section 22 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffi64.c.o: failed to match split-stack sequence at section 26 offset 0
/usr/bin/ld.gold: error: tools/gollvm/libgo/CMakeFiles/libffi_piclib.dir/libffi/src/x86/ffiw64.c.o: failed to match split-stack sequence at section 16 offset 0
collect2: error: ld returned 1 exit status
[3485/3544] Linking C static library tools/gollvm/libgo/libgo.a
ninja: build stopped: subcommand failed.
@codersguild codersguild reopened this May 25, 2020
@thanm
Copy link
Member

@thanm thanm commented May 26, 2020

The ld.gold error message looks a lot like one reported in a previous bug, #38728.

Can you please check to make sure that your client is sync'd past the CLs that fix this issue, e.g. 0edc44a02852dd0d56cac35163a45634b497d6cd.

You may also need to delete your CMakeCache.txt file and re-run cmake.

@codersguild
Copy link
Author

@codersguild codersguild commented May 26, 2020

I built gollvm in a docker and it seems to work there quite well. I am not facing any issues and the build is passing with all tests OK.

@codersguild
Copy link
Author

@codersguild codersguild commented May 30, 2020

Just wanted to update on one thing. The gold offset error occurs only with focal release of Ubuntu. On bionic it works fine and the build succeeds.

@codersguild codersguild reopened this May 30, 2020
pingw33n pushed a commit to pingw33n/gollvm that referenced this issue Oct 6, 2020
Sync with LLVM trunk at revision ede6005e709. Details:
- adapt to more changes in how load/store alignment is specified
- adapt to new signatures for creating alloca instructions
- remaster unit test expected results (again alignment related)

Fixes golang/go#39109.

Change-Id: Ida665cba384386ed0ae6b78024e62cbc3c126c2a
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/234337
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.