On Tue, May 26, 2015 at 7:53 PM, Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> wrote: > > > On 05/26/2015 10:48 PM, Paolo Bonzini wrote: >> >> >> >> On 26/05/2015 16:45, Edward Cree wrote: >>>>> >>>>> This breaks older compilers that can't initialize anon structures. >>>>> >>>>> How old ? Even gcc 3.1 says you can use unnamed struct/union fields and >>>>> 3.2 is the minimum version required to compile the kernel as mentioned >>>>> in the README. >>>>> >>>>> We could simply just name the structure, but I doubt this is the >>>>> only place in the kernel code where it's being used this way :) >>> >>> This appears to be GCC bug #10676, see >>> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676> >>> Says it was fixed in 4.6, but I believe the kernel supports GCCs much >>> older >>> than that (back to 3.2). I personally hit it on 4.4.7, the version >>> shipped >>> with RHEL6.6. >> >> >> Yes, it will be fixed soon(ish). Probably before you can get rid of the >> obnoxious disclaimer... :) > > > It has been fixed by Andrew: > > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: arch/x86/kvm/mmu.c: work around gcc-4.4.4 bug > > arch/x86/kvm/mmu.c: In function 'kvm_mmu_pte_write': > arch/x86/kvm/mmu.c:4256: error: unknown field 'cr0_wp' specified in > initializer > arch/x86/kvm/mmu.c:4257: error: unknown field 'cr4_pae' specified in > initializer > arch/x86/kvm/mmu.c:4257: warning: excess elements in union initializer > ... > > gcc-4.4.4 (at least) has issues when using anonymous unions in > initializers. > > Fixes: edc90b7dc4ceef6 ("KVM: MMU: fix SMAP virtualization") > Cc: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > Should be found at -mm tree. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ Hi. Please backport "arch/x86/kvm/mmu.c: work around gcc-4.4.4 bug" to stable trees that have backported "KVM: MMU: fix SMAP virtualization". Currently, the Linux 4.0.5 build is broken with GCC 4.4. "KVM: MMU: fix SMAP virtualization" is currently queued for 3.16.y-ckt and 3.18.y. Cheers, Vinson -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html