免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2192 | 回复: 0
打印 上一主题 下一主题

求助,在ARM-LINUX板上移植openswan的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-22 09:18 |只看该作者 |倒序浏览
由于已将openswan移植到mips板上,所以我将它移植到arm板上时只换了个编译器,这是怪事出现了当程序pluto跑不起来。我用打开文件往里面写debug信息的方式查找问题。最后我发现如下流程。
  main(756)----->call_server(1090)----->whack_handle(372)------>add_connection(1129)------>alg_info_ike_create_from_str(300)------>alloc_thing
    main(756)----->callserver表示main在756行调用call_server函数,由于我加了debug函数,所以行数与源程序不是完全相同的。我发现alloc_thing最后会调用malloc函数,当调用时就程序就会down掉。我想可能是malloc函数的问题,于是我就直接在alg_info_ike_create_from_str内部写了一个malloc函数,我发现当malloc 1---100是不会有问题,但当我malloc的值大于120时就会荡机。但我在函数add_connection中,在调用alg_info_ike_create_from_str之前调用malloc(3xx),也不会有事。最奇怪的是我在alg_info_ike_create_from_str中只要是加入debug信息程序在main(734)就荡机了,但当我在alg_info_ike_create_from_str加入int iii=1;int iiii=2;int iiiii=3;程序又会在alloc_thing中才荡掉。
   后来我将所有的debug函数全删掉,用另一个函数debug,最后发现它会在其它地方荡掉,如fopen(),opendir()。
   总之,在这个程序中,我发现最终荡机都是在系统调用上面,修改后面的程序会影响到前面的程序的执行。我觉得,就算调用出错,也应该会返回出错信息,而不是荡掉。而且其它地方用到时是不会出错的。我们板子上面还有许多其它程序在跑,所以认为LINUX内核和编译器应该没什么问题。
   有哪位大侠可以给一些建议,这个bug大概会出在什么地方,怎么找?或者是openswan在arm板上有特殊的编译参数?或者可以的话给个在arm板上移植成功例子。
   谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP