On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote: > On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote: > Does this help ? Thanks a lot Dave. That did help :) Still compilation does not complete successfully. I'm seeing the following issue on both ppc64 and s390x archs: CC ioctls/hpet.o CC ioctls/kvm.o In file included from ioctls/kvm.c:8:0: ioctls/kvm.c:15:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_memory_alias’ IOCTL(KVM_SET_MEMORY_ALIAS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:29:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_pit_state’ IOCTL(KVM_GET_PIT), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:30:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_pit_state’ IOCTL(KVM_SET_PIT), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:35:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_irq_routing’ IOCTL(KVM_SET_GSI_ROUTING), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:47:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_xen_hvm_config’ IOCTL(KVM_XEN_HVM_CONFIG), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:50:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_pit_state2’ IOCTL(KVM_GET_PIT2), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:51:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_pit_state2’ IOCTL(KVM_SET_PIT2), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:76:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_msrs’ IOCTL(KVM_GET_MSRS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:77:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_msrs’ IOCTL(KVM_SET_MSRS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:78:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_cpuid’ IOCTL(KVM_SET_CPUID), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:82:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_lapic_state’ IOCTL(KVM_GET_LAPIC), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:83:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_lapic_state’ IOCTL(KVM_SET_LAPIC), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:84:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_cpuid2’ IOCTL(KVM_SET_CPUID2), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:85:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_cpuid2’ IOCTL(KVM_GET_CPUID2), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:90:2: error: large integer implicitly truncated to unsigned type [-Werror=overflow] IOCTL(KVM_S390_STORE_STATUS_NOADDR), ^ ioctls/kvm.c:91:2: error: large integer implicitly truncated to unsigned type [-Werror=overflow] IOCTL(KVM_S390_STORE_STATUS_PREFIXED), ^ In file included from ioctls/kvm.c:8:0: ioctls/kvm.c:102:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_x86_mce’ IOCTL(KVM_X86_SET_MCE), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:105:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_vcpu_events’ IOCTL(KVM_GET_VCPU_EVENTS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:106:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_vcpu_events’ IOCTL(KVM_SET_VCPU_EVENTS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:107:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_debugregs’ IOCTL(KVM_GET_DEBUGREGS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:108:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_debugregs’ IOCTL(KVM_SET_DEBUGREGS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:110:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_xsave’ IOCTL(KVM_GET_XSAVE), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:111:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_xsave’ IOCTL(KVM_SET_XSAVE), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:112:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_xcrs’ IOCTL(KVM_GET_XCRS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ ioctls/kvm.c:113:8: error: invalid application of ‘sizeof’ to incomplete type ‘struct kvm_xcrs’ IOCTL(KVM_SET_XCRS), ^ include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ { .request = _request, .name = #_request, } ^ cc1: all warnings being treated as errors make: *** [ioctls/kvm.o] Error 1 > > diff --git a/syscalls/fcntl.c b/syscalls/fcntl.c > index 6eb2344..5d651af 100644 > --- a/syscalls/fcntl.c > +++ b/syscalls/fcntl.c > @@ -23,6 +23,10 @@ > #include "shm.h" > #include "compat.h" > > +#if F_GETLK64 != F_GETLK > +#define HAVE_LK64 > +#endif > + > void sanitise_fcntl(int childno) > { > switch (shm->a2[childno]) { > @@ -66,7 +70,7 @@ void sanitise_fcntl(int childno) > case F_SETLK: > case F_SETLKW: > break; > -#ifndef __x86_64__ > +#ifdef HAVE_LK64 > case F_GETLK64: > break; > case F_SETLK64: > @@ -122,7 +126,7 @@ struct syscall syscall_fcntl = { > .arg2name = "cmd", > .arg2type = ARG_OP, > .arg2list = { > -#ifdef __x86_64__ > +#ifndef HAVE_LK64 > .num = 20, > #else > .num = 23, > @@ -130,7 +134,7 @@ struct syscall syscall_fcntl = { > .values = { F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETLK, F_SETLK, > F_SETLKW, F_GETOWN, F_SETOWN, F_GETOWN_EX, F_SETOWN_EX, F_GETSIG, F_SETSIG, F_GETLEASE, > F_SETLEASE, F_NOTIFY, F_SETPIPE_SZ, F_GETPIPE_SZ, > -#ifndef __x86_64__ > +#ifdef HAVE_LK64 > F_GETLK64, F_SETLK64, F_SETLKW64, > #endif > }, > -- To unsubscribe from this list: send the line "unsubscribe trinity" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html