[OpenAFS-devel] osi_Panic on AIX and IRIX

Chaz Chandler clc31@inbox.com
Tue, 09 Feb 2010 18:04:46 -0500


>> I'm not sure exactly what led to it, but at some point before late
>> January references to vprintf crept into the IRIX kernel module because
>> of the way osi_Panic was defined -- at which point the module would no
>> longer load (and the kernel would no longer build with libafs.a in =
it).=20
>> It looked like AIX had the same problem (lack of vprintf) and there was
>> already some =23ifdef code in there to work around it, so we just tacked
>> on some more for IRIX.  Well, I don't know how well it's working out for
>> AIX, but now I'm playing wack-a-mole =23ifdefing all of the osi_Panic =
refs
>> elsewhere.  I'm hoping there's a better way.  Has anyone tested AIX
>> recently?
>=20
> Okay, so if the problem is references to vprintf, you just need to =
redefine
> the source of those references, rather than hunting through the code.

No, but the problem is that it afs won't compile in other places because
of the fix for lack of vprintf.  That fix left many osi_Panic's in
kernel land which still assume vararg is kosher.  For instance,
afs/afs_cbqueue.c line 263 has osi_Panic(=22some string whatever=22).  I'm
asking if I should be going through each of these and ifdefing them or
might there be a better way.

I guess you have have multiple macros for different cases instead of the
one function, but that wouldn't be elegant either.

____________________________________________________________
FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop=21
Check it out at http://www.inbox.com/earth