On 2013-10-8 14:32, asmwarrior wrote: > On 2013-10-6 20:46, asmwarrior wrote: >> > On 2013-10-6 15:57, Yao Qi wrote: >>> >> On 10/05/2013 11:37 PM, asmwarrior wrote: >>>> >>> Bug和测试代码都在这里,凡是Windows x86下的GCC4.7.x以后编译的C++程序都涉及到: >>>> >>> https://sourceware.org/bugzilla/show_bug.cgi?id=15559 >>>> >>> 我估计这个bug没这么快能解决。 >>>> >>> >>>> >>> 不知道大虾们有啥好办法? >>> >> I have no idea unless we fix it. :) >> > 我对GDB如何产生inferior call的内容一无所知,不知道Yao能否帮忙看看fix这个bug的办法? >> > 呵呵,我估计也就只能帮忙测试了。我现在为了调试程序方便,又退回到使用4.6.x的MinGW GCC了。 > 我大概分析了一下GDB产生inferior call的内容。我主要是想看看到底目前的GDB里面,是否有支持两种calling > convention的情况,发现其实sh-tdep.c就是这样干的。 > 我大概写了一个解决此问题的分析思路。 > > Yao大侠能否帮忙看看这思路大致对不对,主要是需要找一个东西判断一下某个函数是否是 c++的member function,进而采取不同的策略。 > > 我的分析内容放在那个bug后面的comment里面了,见: > https://sourceware.org/bugzilla/show_bug.cgi?id=15559 > 我估计自己没能力实现了,等待GDB大牛们的实现了,呵呵。 > 我自己折腾了一个patch,貌似搞定了这个问题,欢迎大家测试和提供意见。patch见 https://sourceware.org/bugzilla/show_bug.cgi?id=15559