This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: g++ Bug? use of alloca in a function prevents exception handler walkback on ppc linux


Hi Franz,

> The code is nearly the same (I compared the assembly), I believe this was a 
> temporary failure and not related to the bug you are referring to. What 
> makes me wonder though is the code generated for "thrower" in Kevin's 
> testcase, that looks bogus. It seems to me that the code is using an 
> uninitialized and unallocated stackslot for aExc, which overlays (!) with 
> the register save area, r31 in this example. The bug is already in the 
> initial RTL dump, which would suggest that except.c and cp/except.c have a 
> bug here.
> 
> > > Anyway, Kevin is working with gcc-2.95.3 so I'll look into backporting 
> > your
> > > fix, cause I don't have time to do gcc-2.97 RPM's before xmas.
> >
> >Sure.  As a workaround, this is suitable for 2.95.3.
> 
> As this bug turned out to be a different one than you thought (?), the 
> solution for gcc-2.95.3 is really simple and related to the unofficial 
> DWARF EH patch used on Linux/PPC. It turns out the patch missed to call 
> dwarf2out_def_cfa() after the framepointer activating "mr 31,1". Fixing 
> this lets the testcase succeed.
> 
> Kevin, I'll upload new RPM's as soon as the build finished.

Great, I have a much more complex testcase (the actual bridges code in 
openoffice) which actually works if I change from alloca to malloc based 
versions.  I will convert it back to alloca and test the new compiler.

Thanks!

Kevin


---
Kevin B. Hendricks, Associate Professor
Operations and Information Technology
Richard Ivey School of Business, UWO, London ON, CANADA
(519) 661-3874

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]