[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] kFreeBSD pdwtags make check failure

On 05/31/2013 12:16 PM, Guido Günther wrote:
> Hi,
> make check on kFreeBSD currently fails with:

> -        uint64_t                   cpu_time;
> +        long unsigned int          cpu_time;

What version of pdwtags?  Also, what version of rpcgen?

We are definitely requesting a 64-bit type in
src/remote/remote_protocol.x, by our use of 'hyper':

struct remote_vcpu_info {
    unsigned int number;
    int state;
    unsigned hyper cpu_time;
    int cpu;

Looking at the generated src/remote/remote_protocol.h, what do you see
for remote_vcpu_info?  On Linux/glibc, I see

struct remote_vcpu_info {
        u_int number;
        int state;
        uint64_t cpu_time;
        int cpu;

so after translation through rpcgen and src/rpc/genprotocol.pl, it has
turned 'hyper' into 'uint64_t' for me.  I suspect that something
different happened for you.

I don't know if it is a difference in your version of rpcgen (as long as
your platform is 64-bit, it actually seems okay; but it would be a
disaster on a 32-bit platform), and knowing whether the generated .h
files differ is important to decide whether the problem is in the rpcgen
side or in the pdwtags side.  Is this a case where rpc/genprotocol.pl
merely needs to be taught a substitution rule that if rpcgen turned
'hyper' into 'long unsigned int', then this is turned back into uint64_t?

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]