Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1624508

Re: [kbuild-all] [tip:x86/cpu 8/12] arch/x86/kernel/cpu/intel_rdt.c:63: error: unknown field 'cache' specified in initializer

From Fengguang Wu <fengguang.wu@intel.com>
Newsgroups linux.kernel
Subject Re: [kbuild-all] [tip:x86/cpu 8/12] arch/x86/kernel/cpu/intel_rdt.c:63: error: unknown field 'cache' specified in initializer
Date 2017-04-17 04:10 +0200
Message-ID <tx4h4-31r-5@gated-at.bofh.it> (permalink)
References <twgNj-6dk-1@gated-at.bofh.it> <twoKS-2J8-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, Apr 15, 2017 at 07:40:34AM +0200, Thomas Gleixner wrote:
>On Sat, 15 Apr 2017, kbuild test robot wrote:
>
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/cpu
>> head:   64e8ed3d4a6dcd6139a869a3e760e625cb0d3022
>> commit: 05b93417ce5b924c6652de19fdcc27439ab37c90 [8/12] x86/intel_rdt/mba: Add primary support for Memory Bandwidth Allocation (MBA)
>> config: x86_64-randconfig-s0-04150438 (attached as .config)
>> compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
>> reproduce:
>>         git checkout 05b93417ce5b924c6652de19fdcc27439ab37c90
>>         # save the attached .config to linux build tree
>>         make ARCH=x86_64
>
>That's weird.
>
>> c1c7c3f9 Fenghua Yu      2016-10-22  57  	{
>> c1c7c3f9 Fenghua Yu      2016-10-22  58  		.name			= "L3",
>> c1c7c3f9 Fenghua Yu      2016-10-22  59  		.domains		= domain_init(RDT_RESOURCE_L3),
>> c1c7c3f9 Fenghua Yu      2016-10-22  60  		.msr_base		= IA32_L3_CBM_BASE,
>> 0921c547 Thomas Gleixner 2017-04-14  61  		.msr_update		= cat_wrmsr,
>> c1c7c3f9 Fenghua Yu      2016-10-22  62  		.cache_level		= 3,
>> d3e11b4d Thomas Gleixner 2017-04-14 @63  		.cache = {
>> d3e11b4d Thomas Gleixner 2017-04-14 @64  			.min_cbm_bits	= 1,
>> d3e11b4d Thomas Gleixner 2017-04-14 @65  			.cbm_idx_mult	= 1,
>> d3e11b4d Thomas Gleixner 2017-04-14  66  			.cbm_idx_offset	= 0,
>> d3e11b4d Thomas Gleixner 2017-04-14  67  		},
>> c1c7c3f9 Fenghua Yu      2016-10-22  68  	},
>>
>> :::::: The code at line 63 was first introduced by commit
>> :::::: d3e11b4d6ffd363747ac6e6b5522baa9ca5a20c0 x86/intel_rdt: Move CBM specific data into a struct
>>
>
>So the compiler fails to handle the anon union, which was introduced in
>05b93417ce5b924. No idea why, but that concept is not new and widely used
>in the kernel already.

It looks like a problem with gcc 4.4:

        Bug 42875 - gcc disallows named initializers for anonymous unions
        https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42875
        https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676

        gcc-4.4.3 lets you statically initialize named fields, and
        lets you assign to anonymous union members, but you cannot
        statically initialize a named member of an anonymous union.

Thanks,
Fengguang

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[tip:x86/cpu 8/12] arch/x86/kernel/cpu/intel_rdt.c:63: error:  unknown field 'cache' specified in initializer kbuild test robot <fengguang.wu@intel.com> - 2017-04-14 23:20 +0200
  Re: [tip:x86/cpu 8/12] arch/x86/kernel/cpu/intel_rdt.c:63: error:  unknown field 'cache' specified in initializer Thomas Gleixner <tglx@linutronix.de> - 2017-04-15 07:50 +0200
    Re: [kbuild-all] [tip:x86/cpu 8/12]  arch/x86/kernel/cpu/intel_rdt.c:63: error: unknown field 'cache' specified  in initializer Fengguang Wu <fengguang.wu@intel.com> - 2017-04-17 04:10 +0200
      Re: [kbuild-all] [tip:x86/cpu 8/12] arch/x86/kernel/cpu/intel_rdt.c:63:  error: unknown field 'cache' specified in initializer Thomas Gleixner <tglx@linutronix.de> - 2017-04-17 10:20 +0200

csiph-web