Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

llinking @_Znam and @_Znwm

Tags:

c++

std

llvm

I'm new to c++ programming and currently working on an llvm front-end development project. When I link the object files created by llc, my linker cannot locate the following functions. I know that these are standard c++ library functions but using -lstdc++ doesn't work. Now my question is that where are these functions defined and how can I link them with my object files, and actually what do they do?

declare noalias i8* @_Znam(i64)

declare noalias i8* @_Znwm(i64)
like image 785
user1723583 Avatar asked Oct 23 '25 21:10

user1723583


1 Answers

These functions are standard C++ library functions, in particular, operator new[](unsigned long) and operator new(unsigned long). They should be provided by your C++ runtime library. Depending on which compiler you're using this will be libsupc++ or libc++abi or libcxxrt.

like image 96
Anton Korobeynikov Avatar answered Oct 25 '25 09:10

Anton Korobeynikov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!