请教下编译jamvm的时候,如果使用-O0进行编译安装,在跑java程序就出错会是什么原因?
sundreams2009
2013-11-21
我在编译jamvm的时候,只要修改\jamvm-1.5.4\src\interp\engine 文件夹下的Makefile,将c编译器的编译选项由CFLAGS = -g -O2改为CFLAGS = -g -O0,再编译安装,调试的时候就会报Program received signal SIGSEGV, Segmentation fault错误,不修改就没问题,修改其他的Makefile也没问题,感觉不是程序逻辑的错误,查了下gcc O2优化功能感觉也没有发现什么可能导致这种情况的原因 |
|
sundreams2009
2013-11-29
前几天跟了一下代码发现是在执行inlineProfiledBlock函数时发生的错误,是在该函数返回的时候报的错,在网上查了下这种情况,貌似是是说有局部变量访问了非法的内存会导致这种在返回时才出错的情况,但是感觉源码应该不会有错吧,难度源码也会有bug么?
|
|
sundreams2009
2014-01-10
http://sourceforge.net/mailarchive/message.php?msg_id=25884334上面这个链接是与该bug相关的信息,貌似这个问题是个bug
|