以下调用无法动态加载库,抱怨它无法使用静态TLS加载更多对象:
dlopen("libfoo.so",RTLD_LOCAL | RTLD_NOW);
然而,在我检查之后:
readelf -a libfoo.so | grep TLS
没有TLS符号。
任何想法为何无法加载?
答案 0 :(得分:1)
任何想法为何无法加载
这个库可能依赖于其他一些带有TLS段的库。
您可以在每个从属库上运行ldd libfoo.so
,然后运行readelf -l
。其中一个必须有TLS
段,否则您将无法获得错误。