fixinc help with Solaris 9?
Bruce Korb
bkorb@pacbell.net
Tue Oct 15 15:50:00 GMT 2002
Loren James Rittle wrote:
> My only opinion having battled it without success: Have one fixinc fix
> per Sun-released version of the pthread.h header. Guard each fix on
> the exact RCS/SCCS ID of the file. The sad fact is that Sun has
> changed that file every release of Solaris since 2.5 in a way that has
> required a subtly different fix...
Yes. It might be reasonable to do a C-fix-text, a la:
#ifndef __sun
return SKIP_FIX
#else
pz = strstr( pzText, "@(#)pthread.h" );
if (pz == NULL)
return SKIP_FIX;
return (<can we verify that it is a version we know about?>)
? APPLY_FIX : SKIP_FIX;
#endif
and then something similar with the c-fix itself.
> The other observation: Why the heck is gcc even warning/erroring on
> such an issue appearing in a *system* header?
That would be easier for fixinc, but likely more work overall??
> However, I will write a new fixinc fix for 2.9 based on the above
> guidelines, if you can send me the exact context diff that you create
> by hand to remove all warnings.
Either you or I could do it. But first, from someone, for
each valid combination of "#pragma ident"s from /usr/include/pthread.h
and /usr/include/sys/synch.h, we need a context/unified diff
between the vendor supplied macro and a macro that works.
Almost certainly this new macro is going to have to depend
upon the structure of pad64_t (however that was spelled.)
> and mail it to me along with the exact RCS/SCCS ID. For example,
> from Bruce's e-mail, it looks like it should be:
> #pragma ident "@(#)pthread.h 1.32 01/11/10 SMI"
>
> I will then mail back a patch for you to test in context.
>
> To avoid all frustration, I will not attempt to fix this more
> generally. I think I have written enough on why this is almost
> impossible given Sun's evolution of that file.
Sounds right to me.
More information about the Libstdc++
mailing list