[haiku-development] Re: gcc2.95.3??
- From: Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Wed, 09 May 2012 09:59:21 +0200
On 2012-05-09 at 07:56:19 [+0200], John Scipione <jscipione@xxxxxxxxx> wrote:
> On Wed, May 9, 2012 at 12:54 AM, John Scipione <jscipione@xxxxxxxxx> wrote:
>
> > I am scratching my head here on this one a bit.
> >
> > I am getting an error "cast specifies signature type" when I set a pointer
> > to a member function to NULL on gcc2 built on Mac OS X 10.7 Lion, but not
> > gcc2 build on 10.6 Snow Leopard. That is weird enough but it gets
> > stranger.
I agree with Stephan and find it *very* peculiar that the gcc-2.95.3 built on
Mac OS X 10.6 behaves differently from the one built on Mac OS X 10.7.
Unlikely as it seems, the difference in behaviour may be triggered gccs build
system - maybe the feature (signature-handling) is being switched off on 10.6?
In any case, it'd be good to know how other build platforms behave, so: do
you get the error when building Haiku?
> > I tracked down when in gcc this bug got fixed, apparently it was fixed in
> > r28677 on Aug 11 20:22:41 1999 UTC (12 years, 9 months ago)
> >
> > The change log fixing the file generating the error I am getting is here:
> > http://gcc.gnu.org/viewcvs/trunk/gcc/cp/typeck.c?r1=28626&r2=28677
> >
> > Now, here is the part that has me scratching my head... I though we were
> > on gcc 2.95.3 released March 16, 2001. Why am I running into gcc bugs
> > fixed
> > in 1999?
Because of the fact that gcc development takes place in branches. In this
case it's likely that the gcc-2.95.x development had been moved into a branch
of its own long before r28677. That revision seems to live in the main line
of development, though, so it didn't apply to gcc-2.95.3.
> This question still remains though, perhaps I can back-port a fix from the
> gcc sources. Although, I was expecting to see the bug fixed after 2001, not
> in 1999. Since this is gcc2 and binary compatibility is critical here, I'd
> like someone with more experience in this area to check out the code and
> see if there is anything I can do to fix this.
The change is pretty large (rev.28677 involves many more files than just
cp/typeck.c), thus I find it a bit difficult to judge its effect on binary
compatibility (the ABI). That being said, it looks as if they've just removed
one specific feature in that patch, so I think it's rather unlikely that the
ABI has been changed.
The problem here is though, that it's not easy to find out if that is indeed
the case. One could rebuild all of Haiku and then compare the names and sizes
of each and every symbol in all the shared libraries living in /system/lib.
But even that still isn't a reliable check, just a hint.
cheers,
Oliver
Other related posts: