From: "Martin J. Bligh" Whoever changed this: -volatile u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; +u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; needs to grep for all occurences through subarch, etc. eg: mach-bigsmp/mach_apic.h:extern volatile u8 cpu_2_logical_apicid[]; mach-es7000/mach_apic.h:extern volatile u8 cpu_2_logical_apicid[]; mach-numaq/mach_apic.h:extern volatile u8 cpu_2_logical_apicid[]; mach-summit/mach_apic.h:extern volatile u8 cpu_2_logical_apicid[]; There may be other similar problems, but this should fix up those at least. include/asm-i386/mach-bigsmp/mach_apic.h | 2 +- include/asm-i386/mach-es7000/mach_apic.h | 2 +- include/asm-i386/mach-numaq/mach_apic.h | 2 +- include/asm-i386/mach-summit/mach_apic.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff -puN include/asm-i386/mach-bigsmp/mach_apic.h~cpumask_t-gcc-workaround-47 include/asm-i386/mach-bigsmp/mach_apic.h --- 25/include/asm-i386/mach-bigsmp/mach_apic.h~cpumask_t-gcc-workaround-47 2003-07-19 21:48:31.000000000 -0700 +++ 25-akpm/include/asm-i386/mach-bigsmp/mach_apic.h 2003-07-19 21:48:31.000000000 -0700 @@ -94,7 +94,7 @@ static inline physid_mask_t apicid_to_cp return physid_mask_of_physid(phys_apicid); } -extern volatile u8 cpu_2_logical_apicid[]; +extern u8 cpu_2_logical_apicid[]; /* Mapping from cpu number to logical apicid */ static inline int cpu_to_logical_apicid(int cpu) { diff -puN include/asm-i386/mach-es7000/mach_apic.h~cpumask_t-gcc-workaround-47 include/asm-i386/mach-es7000/mach_apic.h --- 25/include/asm-i386/mach-es7000/mach_apic.h~cpumask_t-gcc-workaround-47 2003-07-19 21:48:31.000000000 -0700 +++ 25-akpm/include/asm-i386/mach-es7000/mach_apic.h 2003-07-19 21:48:31.000000000 -0700 @@ -119,7 +119,7 @@ static inline physid_mask_t apicid_to_cp return mask; } -extern volatile u8 cpu_2_logical_apicid[]; +extern u8 cpu_2_logical_apicid[]; /* Mapping from cpu number to logical apicid */ static inline int cpu_to_logical_apicid(int cpu) { diff -puN include/asm-i386/mach-numaq/mach_apic.h~cpumask_t-gcc-workaround-47 include/asm-i386/mach-numaq/mach_apic.h --- 25/include/asm-i386/mach-numaq/mach_apic.h~cpumask_t-gcc-workaround-47 2003-07-19 21:48:31.000000000 -0700 +++ 25-akpm/include/asm-i386/mach-numaq/mach_apic.h 2003-07-19 21:48:31.000000000 -0700 @@ -57,7 +57,7 @@ static inline physid_mask_t ioapic_phys_ } /* Mapping from cpu number to logical apicid */ -extern volatile u8 cpu_2_logical_apicid[]; +extern u8 cpu_2_logical_apicid[]; static inline int cpu_to_logical_apicid(int cpu) { return (int)cpu_2_logical_apicid[cpu]; diff -puN include/asm-i386/mach-summit/mach_apic.h~cpumask_t-gcc-workaround-47 include/asm-i386/mach-summit/mach_apic.h --- 25/include/asm-i386/mach-summit/mach_apic.h~cpumask_t-gcc-workaround-47 2003-07-19 21:48:31.000000000 -0700 +++ 25-akpm/include/asm-i386/mach-summit/mach_apic.h 2003-07-19 21:48:31.000000000 -0700 @@ -77,7 +77,7 @@ static inline int apicid_to_node(int log } /* Mapping from cpu number to logical apicid */ -extern volatile u8 cpu_2_logical_apicid[]; +extern u8 cpu_2_logical_apicid[]; static inline int cpu_to_logical_apicid(int cpu) { return (int)cpu_2_logical_apicid[cpu]; _