nm symbol output t vs T in a shared so library

后端 未结 1 892
无人及你
无人及你 2021-01-31 18:42

I have added a new function (fuse_lowlevel_notify_inval_directory) in user space fuse library. The compilation and creation of libfuse.so is finished without error. But when my

相关标签:
1条回答
  • 2021-01-31 19:07

    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 __attribute__((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.
    0 讨论(0)
提交回复
热议问题