ld: map file entries of symbols in static libraries built with LTO

christian@gudrian.org christian@gudrian.org
Sun Mar 21 20:25:30 GMT 2021


When I compile and link an executable against a static library (both with LTO) the map file of the resulting executable is missing the addresses of the symbols in the static library. The only reference I get is a line like this one:

   libmylib.a(myfunc.c.o)        CMakeFiles/app.dir/main.c.o (symbol from plugin) (myfunc)

The function in question (myfunc in this case) has not been inlined (according to objdump -S).

Why is this happening and what can I do about it?

Thanks for any hints!


P.S. I'm on GCC 9.3.0 and Binutils 2.36.

More information about the Binutils mailing list