免费注册 查看新帖 |

Chinaunix

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

BOUND_GdMa: fails bounds test [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-04 13:25 |只看该作者 |倒序浏览
最近用BOCHS调试程序发现如下错误:

        [DEV  ] write to port 0x0000 with len 4 ignored
      [CPU0 ] BOUND_GdMa: fails bounds test

我的程序结构大致如下:

        a()
        {
                b();
                ...
                d();
                ....
        }

        c()
        {       
                b();
                ...
                d();
                ...
        }
       
        //b()是存放在库里的 lib.a
        b()
        {
        }

编译过程:
       
        lib.a : gar b.o d.o

        a.bin : gld a.o lib.a
       
        c.bin : gld c.o lib.a

目前,是执行c.bin的b()是发生以上错误,而在执行 a.bin的b()时一切正常。另,无论是a.bin或是c.bin,在单步测试时发现b()的函数地址与a.map和c.map(gcc -Map)中的是一致的,但当进入b()函数后,发现a.bin::b()函数内的代码是正常的,而c.bin::c()代码不太正常(类似随机码)。此外,我还进行了一个测试,分别在a.bin和c.bin中调用lib.a的其他函数(如d()函数),发现的问题于b()的一样,都是在c.bin中执行到d()中时发现BOUND_GdMa: fails bounds test,且c.bin::d()中的函数代码似乎是随机码(不正常)。

个人感觉是编译链接的问题,但反复检查c.bin的Makefile都没有发现什么异常,各位,有什么好的点子?

论坛徽章:
0
2 [报告]
发表于 2010-06-04 13:27 |只看该作者
回复 1# sherf

先顶一下

论坛徽章:
0
3 [报告]
发表于 2010-06-04 13:29 |只看该作者
先关掉优化试试

论坛徽章:
0
4 [报告]
发表于 2010-06-04 13:33 |只看该作者
先关掉优化试试
没本 发表于 2010-06-04 13:29


你所指的优化测试是指.........?

论坛徽章:
0
5 [报告]
发表于 2010-06-04 14:14 |只看该作者
回复 1# sherf

.........

论坛徽章:
0
6 [报告]
发表于 2010-06-04 14:46 |只看该作者
你所指的优化测试是指.........?
sherf 发表于 2010-06-04 13:33



    是指编译优化

论坛徽章:
0
7 [报告]
发表于 2010-06-04 14:54 |只看该作者
是指编译优化
没本 发表于 2010-06-04 14:46


对于GCC的指令,我一共只带了3个参数:-fno-builtin , -Wall,  -fno-stack-protector。 你要去掉哪个?

论坛徽章:
0
8 [报告]
发表于 2010-06-04 15:07 |只看该作者
gcc默认是-O2,你改低到-O1试试。还有用-S输出a.S和b.S看看生成的代码有什么区别。都没问题就检查前面的函数是不是把内存的代码section改写了。

论坛徽章:
0
9 [报告]
发表于 2010-06-04 15:10 |只看该作者
gcc默认是-O2,你改低到-O1试试。还有用-S输出a.S和b.S看看生成的代码有什么区别。都没问题就检查前面的函数 ...
没本 发表于 2010-06-04 15:07


> 都没问题就检查前面的函数是不是把内存的代码section改写了。

这个在 c.map 中怎么检查?

论坛徽章:
0
10 [报告]
发表于 2010-06-04 15:12 |只看该作者
调试器跟踪调试,ring0的就用内核调试器,bochs好像就带,用个方便的图形前端就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP