
On 05/18/2010 11:57 AM, Matthias Bolte wrote:
The "help avoid accidental remote_protocol.x changes" commit 180d4b2b added a make check rule that tried using pdwtags from the dwarves package to protect against accidental remote_protocol.x changes.
I installed dwarves package on Ubuntu 10.04 and make check fails for me now.
What is your 'pdwtags --version'? On Fedora 13, it's v1.8pre1. Very likely, it's just a matter of slightly varying output styles between the two versions that needs some accommodation.
struct remote_nonnull_network { remote_nonnull_string name; /* 0 8 */ remote_uuid uuid; /* 8 16 */
/* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ };
typedef struct remote_nonnull_network remote_nonnull_network;
On F-13, the same chunk looks like: /* 80 */ struct remote_nonnull_network { remote_nonnull_string name; /* 0 4 */ remote_uuid uuid; /* 4 16 */ /* size: 20, cachelines: 1, members: 2 */ /* last cacheline: 20 bytes */ }; /* size: 20 */ /* 81 */ typedef struct remote_nonnull_network remote_nonnull_network; /* size: 20 */
If i run pdwtags with the --verbose flag then the output looks like this:
/* <44e> remote/remote_protocol.h:71 */ typedef struct remote_nonnull_domain remote_nonnull_domain;
/* <459> remote/remote_protocol.h:73 */ struct remote_nonnull_network { remote_nonnull_string name; /* 0 8 */ remote_uuid uuid; /* 8 16 */
/* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ };
And here: /* 80 */ /* <0> (null):0 */ struct remote_nonnull_network { remote_nonnull_string name; /* 0 4 */ remote_uuid uuid; /* 4 16 */ /* size: 20, cachelines: 1, members: 2 */ /* last cacheline: 20 bytes */ }; /* size: 20 */ /* 81 */ /* <0> (null):0 */ typedef struct remote_nonnull_network remote_nonnull_network; /* size: 20 */
Now there are "markers" that can be used for splitting, but they still differ from the expected format.
The attached patch fixes this issue for me on Ubuntu, but I doubt that this can be the general solution.
Jim, any ideas? -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org