LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 666|回复: 2

在“章 5. 创建临时系统“的"锁定(Locking in)" Glibc的一个笔误

[复制链接]
发表于 2004-6-9 20:50:53 | 显示全部楼层 |阅读模式
echo 'main(){}' > dummy.c
gcc dummy.c
readelf -l a.out | grep ': /tools'
要改为
$echo 'main(){}' > dummy.c
$gcc -g -o a.out dummy.c
$readelf -1 a.out | grep ': /tools'
运行后的结果就是
[Requesting program interpreter: /tools/lib/ld-linux.so.2]
发表于 2004-6-10 10:56:14 | 显示全部楼层

回复: 在“章 5. 创建临时系统“的"锁定(Locking in)" Glibc的一

最初由 syzfeng 发表
echo 'main(){}' > dummy.c
gcc dummy.c
readelf -l a.out | grep ': /tools'
要改为
$echo 'main(){}' > dummy.c
$gcc -g -o a.out dummy.c
$readelf -1 a.out | grep ': /tools'
运行后的结果就是
[Requesting program interpreter: /tools/lib/ld-linux.so.2]

晕,这是千锤百炼的教程,怎会轻易出错?
相反,你的说法却是如此错漏出。

1.gcc无须加上-g选项,没必要附上gdb调试信息,因为查看文件头不需要gdb的支持。

  1. [code]
  2. -l
  3. --program-headers
  4. --segments
  5. Displays the information contained in the file's segment headers, if it has any.
复制代码

也无须加上-o选项,因为默认输出文件就是a.out
2.readelf没有-1选项,只有-l选项,相信这是你的笔误吧。

你的写法固然也能得出库信息,但却增加了命令的冗余度,画蛇添足之举。
 楼主| 发表于 2004-6-10 17:03:00 | 显示全部楼层
现在我知道是我自己错了,以前不知道编译文件后的默认文件是a.out,不好意思,又画蛇添足了。由于第一次作lfs,所以在编译的时候没有出现像文档那样的信息,是因为我的操作失误,不过现在让我也长了不少见识,谢谢home_king的指教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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