[hellogcc] Re: GDB的严重bug,无法支持新版本GCC的 inferior call

  • From: asmwarrior <asmwarrior@xxxxxxxxx>
  • To: Yao Qi <qiyaoltc@xxxxxxxxx>, hellogcc@xxxxxxxxxxxxx
  • Date: Tue, 08 Oct 2013 19:22:27 +0800

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


Other related posts: