nm symbol output t vs T in a shared so library

℡╲_俬逩灬. 提交于 2019-12-03 02:55:12

Any idea about what I might be doing wrong?

The t function is indeed local to the library. This could happen due to a number or reasons. The most likely ones are:

  1. You declared the function static, or
  2. You compiled the library with -fvisibility=hidden and did not have __attribure__((visibility("default"))) on the function, or
  3. You linked this library with a linker version script (i.e. with --version-script=libfoo.version flag) that hides all functions, except those which are explicitly exported, and you didn't add your function to that list.

    See this example of using --version-script to limit symbol visibility.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!