[haiku-development] Re: BeOS Apps Crashing on Haiku (Bug #889)

  • From: Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 01 Jun 2007 10:02:46 +0200

On 2007-06-01 at 07:44:08 [+0200], Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> 
wrote:
> 
> On 2007-05-31 at 22:09:12 [+0200], Oliver Tappe <zooey@xxxxxxxxxxxxxxx> wrote:
> > Ingo, I am pretty sure that the problem you have described is precisely the
> > reason why I had to introduce some "specialty" to gcc-2.95.3-beos that would
> > fix crashing problems related to type_info of BDirectWindow (by providing a
> > separate correct type_info function in a special object file).
> 
> I figured the problem would be related, but I still seem to miss the link.
> The BDirectWindow type info function in libgame.so looks actually quite OK.
> libgame.so also contains the type info functions and type_infos for all base
> classes. I didn't check all, but I suspect they are OK, so that the
> BDirectWindow type info function should actually return a properly
> initialized type_info.
> 
> The only problem I can imagine would occur when an executable containing a
> BDirectWindow subclass would contain a BDirectWindow type_info, but no
> corresponding type info function. Then the subclass type info function would
> use the uninitialized type_info. But since gcc seems to be configured to
> neither produce type_info nor type info function, I don't see where things go
> wrong. Do you have an example how to reproduce it?

Sure, just edit the compiler's specs file 
(.../tools/gnupro/lib/gcc-lib/i586-pc-beos/2.95.3-beos-060710/specs)
and remove this from it:

        %{!no-beos-fixes: fix_bdirectwin_typeinfo.o%s}

If you then do a 'make clean && make' on GLTeapot and start it, you should be 
able to observe the crash. At least it "worked" for me, when I tested it just 
now...

cheers,
        Oliver

Other related posts: