http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sunrpc/rpc/xdr.h.diff?r1=1.27&r2=1.28&cvsroot=glibc (but see also http://sources.redhat.com/ml/libc-alpha/2004-03/msg00267.html and http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02056.html) Fixes errors rpc_cmsg.c: In function `xdr_callmsg': rpc_cmsg.c:70: error: invalid lvalue in increment rpc_cmsg.c:71: error: invalid lvalue in increment rpc_cmsg.c:74: error: invalid lvalue in increment rpc_cmsg.c:77: error: invalid lvalue in increment rpc_cmsg.c:78: error: invalid lvalue in increment rpc_cmsg.c:79: error: invalid lvalue in increment rpc_cmsg.c:81: error: invalid lvalue in increment rpc_cmsg.c:89: error: invalid lvalue in increment rpc_cmsg.c:106: error: invalid lvalue in increment rpc_cmsg.c:107: error: invalid lvalue in increment rpc_cmsg.c:112: error: invalid lvalue in increment rpc_cmsg.c:117: error: invalid lvalue in increment rpc_cmsg.c:118: error: invalid lvalue in increment rpc_cmsg.c:119: error: invalid lvalue in increment rpc_cmsg.c:121: error: invalid lvalue in increment rpc_cmsg.c:160: error: invalid lvalue in increment =================================================================== RCS file: /cvs/glibc/libc/sunrpc/rpc/xdr.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- libc/sunrpc/rpc/xdr.h 2002/12/16 02:05:49 1.27 +++ libc/sunrpc/rpc/xdr.h 2004/03/22 10:52:33 1.28 @@ -262,10 +262,8 @@ * and shouldn't be used any longer. Code which use this defines or longs * in the RPC code will not work on 64bit Solaris platforms ! */ -#define IXDR_GET_LONG(buf) \ - ((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++)) -#define IXDR_PUT_LONG(buf, v) \ - (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v))) +#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf)) +#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v))) #define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf)) #define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v))