+ -
当前位置:首页 → 问答吧 → 第三次又在同一个地方调整工作链挂了,逐渐失去耐性。。(这次时复制粘贴的命令)有没有人愿意帮我分析一下?

第三次又在同一个地方调整工作链挂了,逐渐失去耐性。。(这次时复制粘贴的命令)有没有人愿意帮我分析一下?

时间:2009-08-24

来源:互联网

运行这句
readelf -l a.out | grep '/lib'
后,说找不到a.out文件。


测试工具链是否被调整成功
echo 'main(){}' > dummy.c
cc dummy.c -v -Wl,--verbose &> dummy.log
readelf -l a.out | grep '/lib'
如果显示[Requesting program interpreter: /lib/ld-linux.so.2]表示调整成功,动态库已经连接到了目标系统的/lib下。
grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
应该显示
  /usr/lib/crt1.o succeeded
  /usr/lib/crti.o succeeded
  /usr/lib/crtn.o succeeded
grep -B1 '^ /usr/include' dummy.log
应该显示
  #include <...> search starts here:
   /usr/include
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
应该显示
  SEARCH_DIR("/tools/i686-pc-linux-gnu/lib")
  SEARCH_DIR("/usr/lib")
  SEARCH_DIR("/lib");
grep "/lib/libc.so.6 " dummy.log
应该显示
  attempt to open /lib/libc.so.6 succeeded
grep found dummy.log
应该显示
  found ld-linux.so.2 at /lib/ld-linux.so.2
如果上面均显示正常,那么表明工具链调整成功,可以删除测试文件了
rm -v dummy.c a.out dummy.log

作者: caszhao   发布时间: 2009-08-24

readelf -l a.out | grep ': /lib'

你少了个":"吧

作者: cjx8341   发布时间: 2009-08-28

引用:
作者: caszhao
运行这句
readelf -l a.out | grep '/lib'
后,说找不到a.out文件。
cc dummy.c -v -Wl,--verbose &> dummy.log
这句运行后没出来a.out?

作者: simdiak   发布时间: 2009-08-28

引用:
作者: simdiak
cc dummy.c -v -Wl,--verbose &> dummy.log
这句运行后没出来a.out?
这是之前工具链调整出的问题,我后来重做就好了

作者: caszhao   发布时间: 2009-08-28