On 03/10/2016 09:34 AM, Alex Williamson wrote: >>> + trace_vfio_msix_fixup(vdev->vbasedev.name, >>> + vdev->msix->table_bar, >>> region->mmaps[0].offset, >>> + region->mmaps[0].offset + >>> region->mmaps[0].size); >> Sorry this does not compile for me on arm 32b: >> >> ./trace/generated-tracers.h:16113:23: error: format ‘%lx’ expects >> argument of type ‘long unsigned int’, but argument 8 has type ‘off_t’ >> [-Werror=format=] , name, bar, offset, size); >> >> -> vfio_msix_fixup(const char *name, int bar, off_t start, off_t end) " >> (%s) MSI-X region %d mmap fixup [0x%"PRIx64" - 0x%"PRIx64"]" ? >
> vfio_msix_disable(const char *name) " (%s)" > -vfio_msix_fixup(const char *name, int bar, off_t offset, size_t size) " (%s) > MSI-X region %d mmap fixup [0x%lx - 0x%lx]" > +vfio_msix_fixup(const char *name, int bar, off_t start, off_t end) " (%s) > MSI-X region %d mmap fixup [0x%"PRIx64" - 0x%"PRIx64"]" off_t and PRIx64 are not necessarily compatible types (on a 64-bit platform, one could be 'long' while the other is 'long long'). And even though we set compiler flags to get 64-bit off_t on 32-bit platforms, your code is not portable to people that don't set those flags and are stuck with 32-bit off_t. It may be better to declare start and end as [u]int64_t, rather than off_t. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature