[LLVMdev] linking llvm libraries with bitcode files

Tim Northover t.p.northover at gmail.com
Wed Jan 9 08:48:57 PST 2013


On Wed, Jan 9, 2013 at 5:32 AM, Ali Sedaghat <ali.sedaghatbaf at gmail.com> wrote:
> I'm developing an llvm-based compiler and when I try to generate
> executable file the following error occurs:
>
> ./bin/llvmcode.s:35: undefined reference to `operator new[](unsigned
> long)'
>
> Note that in the generated IR, the function '@_Znam' is called which is
> located in one of llvm libraries. So, I should have linked the generated
> assembly file with that library.

That operator is defined in the C++ standard library. You probably
don't want to be linking the output of your compiler with LLVM
libraries, they'd be what you'd use to build the compiler itself.

However, g++ should find the required function anyway. It's possible
you have to add a "-lstdc++" (or -lc++ if you're using libc++, etc).
But it makes me wary about the rest of your toolchain.

Tim.



More information about the llvm-dev mailing list