RPC/XDR experience?
Olof Johansson
olof at austin.ibm.com
Sat Jun 7 08:17:28 EST 2003
linas at austin.ibm.com wrote:
> Anyone out there with experience with RPC on 64 bit machines?
>
> I've got a 'hello-world' RPC program that falls apart when
> compiled & linked to 64-bit glibc on PPC64. It doesn't like
> long ints. I'm getting the feeling that I may be opening a
> pandora's box; I'm hoping that someone will reply and state
> that no, 64-bit RPC's work great on alphas and sparcs and mips,
> and not to worry ...
Linas,
As far as I can tell it works just fine.
Notice however, that the implementation of xdr_long WILL fail for cases where it's found that the
64-bit long contains larger (or smaller, for negative) values than can be stored in the 32-bit
over-the-wire long. This might give surprising results when you're using xdr_long to encode an
unsigned integer.
See code snippet:
bool_t
xdr_long (XDR *xdrs, long *lp)
{
if (xdrs->x_op == XDR_ENCODE
&& (sizeof (int32_t) == sizeof (long)
|| (int32_t) *lp == *lp)) // <-- HERE is the check
return XDR_PUTLONG (xdrs, lp);
...
return FALSE;
...
}
-Olof
--
Olof Johansson Office: 4E002/905
pSeries Linux Development IBM Systems Group
Email: olof at austin.ibm.com Phone: 512-838-9858
All opinions are my own and not those of IBM
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list