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: PATCH: Add __frame_state_for for gcc 3.0.1


On Thu, Jul 05, 2001 at 09:52:41PM +0200, Jakub Jelinek wrote:
> On Thu, Jul 05, 2001 at 12:30:51PM -0700, H . J . Lu wrote:
> > I created a testcase and added some traces in frame-dwarf2.c. It turns
> > out that when a pre-GCC 3.0 program throws an exception inside libc.so
> > compiled with gcc 3.0, _Unwind_Find_FDE in
> > 
> > 	f = _Unwind_Find_FDE (pc_target, &bases);
> > 	if (f == 0)
> > 	  return 0;
> > 
> > will return 0. That is _Unwind_Find_FDE cannot find the frame if you
> > have mixed g++ v2 and g++ v3 frames. Do we really want to modify
> > _Unwind_Find_FDE to support such a thing? I think the best we can
> > do may be detect such a condition and issue a fatal error message.
> 
> It IMHO must work (although one cannot mix pre-G++ 3.0 and G++ 3.0 C++
> libraries together, one should be able to mix G++ 3.0 C++ libraries with
> pre-GCC 3.0 C libraries and vice versa, and C libraries can have unwinding
> info). So it needs to be debugged why it cannot find it.

Hi Richard,

Does _Unwind_Find_FDE work with the mixed g++ v2 and g++ v3 frames?
That is

1. `foo' is a C++ DSO compiled with gcc pre 3.0, which calls
bsearch (..., cmp, ...) and throws an exception in cmp ().
2. glibc plus the __frame_state_for patch is compiled with gcc 3.0.

Will _Unwind_Find_FDE work in this case?



H.J.


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