LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 晨想

你们的 /lib/tls 里边是什么?

[复制链接]
发表于 2006-2-24 14:41:39 | 显示全部楼层
确实
不过linuxthreads-tls没有启用
不知道是否和这个有关
不过算了,呵呵,不管了
回复 支持 反对

使用道具 举报

发表于 2006-2-24 15:21:31 | 显示全部楼层
Post by zhllg

不过linuxthreads-tls没有启用
不知道是否和这个有关

我加了linuxthreads-tls重编glibc,还是没有tls目录。不过这次/lib/libc.so.6变成linuxthreads了。:confused:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-24 20:00:26 | 显示全部楼层
谢谢各位的回复。

理论上, TLS 这个目录应该是区别 Thread Local Storage 这个的,但是为什么现在都两个都存在呢。

谁用了 Xen的,你的 /lib/tls 改名后,还是否给出那个TLS的提示呢?



附录:
mailing list 上说 如果要彻底解决这个问题,那么要对 glibc 打patch。
glibc-xen-tls.patch
然后编译 glibc 的时候,加入这个参数。
-mno-tls-direct-seg-refs
不知道谁尝试过?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-26 05:11:30 | 显示全部楼层
Post by zhllg
我没有/lib/tls
估计可能是这样的
如果用了nptl nptlonly
就没有/lib/tls了

谁同时有/lib/tls/libc.so.6
和/lib/libc.so.6
贴一下/lib/libc.so.6的执行结果
可能里面是LinuxThreads


NPTL 必须要 TLS,但是 linuxthreads 对 TLS 没有要求。

应该是:
/lib/libc-2.3.6.so 不包括 TLS,必须是 linuxthreads。
/lib/tls/libc-2.3.6.so 包括 TLS,可以是 NPTL 或者 linuxthreads。

但是我很奇怪,为什么 /lib/libc-2.3.6.so 还支持 TLS?


Gentoo 似乎没有改变 TLS 的支持,只是改变了 NPTL/linuxthreads。是不是编译的时候弄错了?还是对 TLS 打了什么补丁了?
回复 支持 反对

使用道具 举报

发表于 2006-2-26 20:41:07 | 显示全部楼层
Post by 终极幻想
NPTL 必须要 TLS,但是 linuxthreads 对 TLS 没有要求。

应该是:
/lib/libc-2.3.6.so 不包括 TLS,必须是 linuxthreads。
/lib/tls/libc-2.3.6.so 包括 TLS,可以是 NPTL 或者 linuxthreads。
..

原来我的CHOST用了i386-pc-linux-gnu,改成i686-pc-linux-gnu后重编了工具链,现在和你说的一样了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-27 09:46:45 | 显示全部楼层
那就是我想的没错了。谢谢你的验证。:)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表