[libvirt] [PATCH] cygwin: Handle differences in the XDR implementation

Matthias Bolte matthias.bolte at googlemail.com
Tue Apr 27 07:37:34 UTC 2010


2010/4/26 Eric Blake <eblake at redhat.com>:
> On 04/25/2010 05:31 AM, Matthias Bolte wrote:
>> Cygwin's XDR implementation defines xdr_u_int64_t instead of
>> xdr_uint64_t and lacks IXDR_PUT_INT32/IXDR_GET_INT32.
>
> Would you mind reporting this upstream?  Charles Wilson on the cygwin
> list can probably fix that.

xdr_uint64_t/xdr_u_int64_t seems not to be part of the original XDR
specification. If you goggle for it you'll find both version.

IXDR_PUT_INT32/IXDR_GET_INT32 is just missing.

>>
>> Alter the IXDR_GET_LONG regex in rpcgen_fix.pl so it doesn't destroy
>> the #define IXDR_GET_INT32 IXDR_GET_LONG in remote_protocol.x.
>>
>
>
>> Also fix the remote_protocol.h regex in rpcgen_fix.pl.
>> -#include "./remote/remote_protocol.h"
>> +#include "remote_protocol.h"
>>  #include "internal.h"
>>  #include <arpa/inet.h>
>> +#ifdef HAVE_XDR_U_INT64_T
>> +# define xdr_uint64_t xdr_u_int64_t
>> +#endif
>> +#ifndef IXDR_PUT_INT32
>> +# define IXDR_PUT_INT32 IXDR_PUT_LONG
>
> Is this ever going to bite us if cygwin adds support for 64-bit windows?
>  Then again, if we report the missing defines upstream, cygwin's xdr
> implementation may be fixed before a 64-bit port.
>
> But no problem in addressing things in parallel - ACK to this patch, so
> we aren't sitting around waiting for an upstream patch.
>

I'm going to report this upstream later today.

Thanks, pushed.

Matthias




More information about the libvir-list mailing list