svn commit: r296394 - head/include/rpc
Pedro Giffuni
pfg at FreeBSD.org
Fri Mar 4 22:11:50 UTC 2016
On 03/04/16 17:03, Pedro F. Giffuni wrote:
> Author: pfg
> Date: Fri Mar 4 22:03:38 2016
> New Revision: 296394
> URL: https://svnweb.freebsd.org/changeset/base/296394
>
> Log:
> xdr: Fix xdr_rpc* defines.
>
> The defines for xdr_rpc* in xdr.h are wrong. It could be
> very well that Solaris did strip the '_t' from xdr_u_int32_t,
> but Solaris has a xdr_u_int32 function, we don't have this.
> So all of this defines will lead to an unresolved symbol.
>
> This explains why we do not use these functions in FreeBSD
> while they are used in Illumos/Solaris.
>
> Obtained from: linux libtirpc (git 7864122e61ffe4db1aa8ace89117358a1e3a391b)
> MFC after: 3 weeks
>
> Modified:
> head/include/rpc/xdr.h
>
> Modified: head/include/rpc/xdr.h
> ==============================================================================
> --- head/include/rpc/xdr.h Fri Mar 4 21:22:11 2016 (r296393)
> +++ head/include/rpc/xdr.h Fri Mar 4 22:03:38 2016 (r296394)
> @@ -219,15 +219,11 @@ xdr_putint32(XDR *xdrs, int32_t *ip)
> (*(xdrs)->x_ops->x_control)(xdrs, req, op)
> #define xdr_control(xdrs, req, op) XDR_CONTROL(xdrs, req, op)
>
> -/*
> - * Solaris strips the '_t' from these types -- not sure why.
> - * But, let's be compatible.
> - */
> -#define xdr_rpcvers(xdrs, versp) xdr_u_int32(xdrs, versp)
> -#define xdr_rpcprog(xdrs, progp) xdr_u_int32(xdrs, progp)
> -#define xdr_rpcproc(xdrs, procp) xdr_u_int32(xdrs, procp)
> -#define xdr_rpcprot(xdrs, protp) xdr_u_int32(xdrs, protp)
> -#define xdr_rpcport(xdrs, portp) xdr_u_int32(xdrs, portp)
> +#define xdr_rpcvers(xdrs, versp) xdr_u_int32_t(xdrs, versp)
> +#define xdr_rpcprog(xdrs, progp) xdr_u_int32_t(xdrs, progp)
> +#define xdr_rpcproc(xdrs, procp) xdr_u_int32_t(xdrs, procp)
> +#define xdr_rpcprot(xdrs, protp) xdr_u_int32_t(xdrs, protp)
> +#define xdr_rpcport(xdrs, portp) xdr_u_int32_t(xdrs, portp)
>
> /*
> * Support struct for discriminated unions.
>
For the record, it's still wrong for 64 bit platforms:
we should probably add an ifdef there.
Pedro.
Pedro.
More information about the svn-src-all
mailing list