sho*_*nex 2 linux embedded pthreads
在嵌入式文件系统上,我想摆脱libthread_db.我的理解是,只有在使用pthread调试程序时才需要它.但是,这是我的观察:
如果libthread_db在引导时不存在(当启动第一个使用programm的pthread时),启动这样的程序会导致段错误.
稍后添加libthread_db(即在pthread程序发生segfaulted之后)不会改变任何内容.每个使用pthread的程序都会在启动时出现段错误.
所以似乎libthread_db对于使用pthread运行任何类型的程序都是必不可少的.
libthread_db是从未使用通过螺纹程序.它仅由调试器使用.
libthread_db以某种方式使用pthreads运行程序所需的断言是不正确的.如果您的pthread程序在libthread_db从系统中删除时崩溃,则嵌入式目标上的其他内容会被破坏; 删除libthread_db只是触发别的东西.
您可以轻松地确认这一点:在常规Linux系统上构建一个pthread程序.运行该程序strace,并观察libthread_db它没有出现在strace输出中.现在重命名/lib/libthread_db.so.1为其他东西,并观察测试程序继续正常工作.
| 归档时间: |
|
| 查看次数: |
4224 次 |
| 最近记录: |