[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] uint64_aligned_t not compatible across gcc versions
One more point here: The addition of this type and XEN_GUEST_HANDLE_64(), as it turns out, makes things more complicated/unreliable in the compatibility stuff rather then helping the situation: Since we need to force 4-byte alignment on uint64_t (and possible derived types) fields, we have to use #pragma pack() framing the entire (generated) compatibility headers. However, #pragma pack() takes precendence over attribute((aligned())), and hence there is no easy way to force 8-byte alignment on uint64_aligned_t fields. The only option I currently have is to (a) exclude sysctl.h and domctl.h from the processing (which is probably intended, but opens the possibility of unintentionally introducing fields of types that need translation, which would go undetected at build time), and (b) assume that no other header uses this type, or depends on the 8-byte alignment forced on __guest_handle_64_XXX. Both are maintenance-wise bad in my opinion. Ideas? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |