On Wed, 27 Feb 2002, Corey Cole wrote:
> Probably bad form to reply to my own message, but it looks like I found
> the problem. Where many OSen define byte order in endian.h or sys/endian.h,
> Solaris puts it in sys/byteorder.h (which then uses sys/isa_defs.h to check
> for
> sparc v[7|8|9] or i386 or ia64). Not only that, but they put a leading
> underscore
> on BIG_ENDIAN.
>
> Anyways, adding a check for sys/byteorder.h and adding some more magic to
> platform_defs.h.in fixed the problem.
Note there are actually two machine specific settings that are
endian related. The first is HAVE_NETWORK_BYTEORDER, which you've already
found and understood, and the second is HAVE_BITFIELDS_LTOR, which
is defined if the compiler allocates bit fields left-to-right within a
word. Getting HAVE_BITFIELDS_LTOR correct is crucial for interoperability
over the wire for PCP PDUs that use bitmaps, e.g. pmDesc.pmUnits
>
> Now all that's left is to work out the install issues and add the ability
> to create Solaris "pkg" files. Then I'll confirm I don't break anything on
> Linux
> and submit the patch (I'm still working on getting my Indy working...)
>
> Creating Solaris pmdas will be a task for another time ;)
Ok, waiting for the patch! The PMDA is a big job; if you export
most of solaris kstat, you're almost home.
thanks
-- Mark
|