免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: harry_he
打印 上一主题 下一主题

如何测试交叉编译器 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-06-18 21:27 |只看该作者

回复 #10 norechang 的帖子

我猜是要修改一下编译器在script里面的名字就OK了,别的小调整一下。
工作忙,而且我现在只用x64,没需求就懒的去查怎么弄。

论坛徽章:
0
12 [报告]
发表于 2009-06-23 14:01 |只看该作者
谢谢大家帮忙。gcc的测试暂时还不需要做,不过以后肯定要做。

现在正在做glibc的测试,我用了glibc里面的cross-test-ssh.sh,通过ssh到target上面运行测试程序。总体看不错,但是碰到一些问题,可能是环境的问题,也可能是我哪里做法不对,还请大家看看

在测试目录intl的时候,需要先产生libpthread.so,make过程中产生的编译命令好像不对,造成很多函数找不到定义,我就手工生成了一个(也就是把ld.so也加到编译命令里)。但是在后面测试时仍然报错:
/bin/sh -e tst-gettext6.sh /home/harryhe/ltib/obj/ '/home/harryhe/ltib/src/scripts/cross-test-ssh.sh 192.168.70.2   /home/harryhe/ltib/obj/elf/ld.so.1 --library-path /home/harryhe/ltib/obj:/home/harryhe/ltib/obj/math:/home/harryhe/ltib/obj/elf:/home/harryhe/ltib/obj/dlfcn:/home/harryhe/ltib/obj/nss:/home/harryhe/ltib/obj/nis:/home/harryhe/ltib/obj/rt:/home/harryhe/ltib/obj/resolv:/home/harryhe/ltib/obj/crypt:/home/harryhe/ltib/obj/nptl' /home/harryhe/ltib/obj/intl/
tst-gettext6: allocatestack.c:430: allocate_stack: Assertion `size != 0' failed.

这可有点麻烦了,难道stack size不够?看了下源代码,tst-gettext6无非就是创建thread,在pthread_create里面好像就出错了,没有一点头绪

论坛徽章:
0
13 [报告]
发表于 2009-06-23 22:48 |只看该作者
希望lz回馈如果测试交叉toolchain。感兴趣这个问题。

论坛徽章:
0
14 [报告]
发表于 2009-06-24 14:20 |只看该作者
我基本上没什么新增脚本,想回馈也不知道回馈啥啊。

除了上面这个问题,碰到最多的就是"Timed out: killed the child process",网上好像很多人碰到过,有的说是版本问题,但我这个版本(gcc-4.3.2, eglibc-2.应该没问题的。目前也是个头疼的问题。

论坛徽章:
0
15 [报告]
发表于 2009-06-24 16:01 |只看该作者
对于timeout的问题,很多时候并没有错,只是运行速度达不到要求罢了。在test-skeleton中可以修改timeout值,缺省值只有2秒,太短了,修改成合适的值就可以了
  /* Set timeout.  */
#ifndef TIMEOUT
  /* Default timeout is two seconds.  */
# define TIMEOUT 2
#endif
  signal (SIGALRM, timeout_handler);
  alarm (TIMEOUT * timeoutfactor);

论坛徽章:
0
16 [报告]
发表于 2009-08-26 18:19 |只看该作者

回复 #15 harry_he 的帖子

楼主的glibc交叉测试结果如何呢?
我正在做这个,初步在qemu上搭建了测试环境,可以正常使用nfs+ssh交叉测试。
环境倒是没什么问题,但是在tst-iconv7.c测试中出错了。dump一下文件tst-iconv7.out
应该是iconv调用出错,返回“iconv Invalid or incomplete multibyte or wide character”

因为我是模拟器环境,空间紧张,所以将系统中的iconv、locale、timezone等信息的文件
(位于/usr/share目录下)都删除了。

不知道上面错误与这个有没有关系,测试glibc时应该不需要系统中的这些iconvdata文件吧?


多谢

论坛徽章:
0
17 [报告]
发表于 2009-09-01 15:23 |只看该作者

回复 #16 Amkerr 的帖子

测试glib至少需要下面这些locale,如果系统空间紧张,可以使用nfs映射过来啊
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP

论坛徽章:
0
18 [报告]
发表于 2009-09-02 09:44 |只看该作者

回复 #17 harry_he 的帖子

thx harry_he,
locale,iconvdata之类的测试倒是过去了。
其他测试fail项比较多,大多是math库中,如下
math:
FAIL: math/test-fenv.out
FAIL: math/test-misc.out
FAIL: math/bug-nextafter.out
FAIL: math/bug-nexttoward.out
FAIL: math/test-float.out
FAIL: math/test-double.out
FAIL: math/test-ifloat.out
FAIL: math/test-idouble.out

posix:
FAIL: posix/globtest.out
FAIL: posix/annexc.out(ignored)

nptl 这个似乎和环境中sh的行为相关,不确定)
FAIL: nptl/tst-cancel7.out
FAIL: nptl/tst-cancel7x.out

elf:
FAIL: elf/tst-audit1.out
FAIL: elf/tst-audit2.out
FAIL: elf/tst-localeplt.out

上面是在mips目标的虚拟机上的测试结果。
看了一下,没有什么头绪,不知道你的测试结果如何?

论坛徽章:
0
19 [报告]
发表于 2009-09-03 14:50 |只看该作者

回复 #18 Amkerr 的帖子

math里面的测试我没有碰到。但是nptl和posix总会有一两个失败。有一些是timeout,可以不管。有一些是内核中的错误,你可以更新一下内核版本试试。
elf下面那几个失败没碰到过

论坛徽章:
0
20 [报告]
发表于 2009-09-03 17:15 |只看该作者

回复 #19 harry_he 的帖子

我逐个检查了测试fail项,大多数都可以排除,现在还剩下
math库和elf中的。
elf中貌似和plt相关(和我用的eglibc发布版本也有关系),而math则一点头绪没有。
对了你的是什么目标机器、环境呢?

多谢帮忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP