I was building a shared library using cmake with RelWithDebInfo
build type, the output .so file has no symbol table.
I inspect the output .so file with readelf -S myoutput.so | grep -i debug
with gives me nothing.
If I change the build type to Debug
, the symbol table is there.
I suppose RelWithDebInfo
is equivalent to -O2 -g
, which should be able to reserver debug symbol. There must be something wrong in my CMakeList.txt……but it’s a very large project I don’t have a clear where to look at, any idea or hint?
Advertisement
Answer
sorry, I’ve figured out the problem. I was using pybind11 for my project, and pybind11 internally strip unneeded symbols.