From: Andrew Cooper Date: Wed, 10 Feb 2016 13:50:37 +0000 (+0100) Subject: x86: fix section type mismatch in mm.c X-Git-Tag: 4.7.0-rc1~610 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e0a97098e20d8fe334b76b37dd6fb0a358a6953c;p=xen.git x86: fix section type mismatch in mm.c Clang doesn't like mixing const and non-const data in the same section. Move zero_page into .bss.page_aligned.const and wildcard .bss.page_aligned when linking. Signed-off-by: Andrew Cooper Acked-by: George Dunlap Acked-by: Jan Beulich --- diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index d62d9ec0b5..c214fc5f21 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -577,7 +577,7 @@ static inline void guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr, TOGGLE_MODE(); } -static const char __section(".bss.page_aligned") zero_page[PAGE_SIZE]; +static const char __section(".bss.page_aligned.const") zero_page[PAGE_SIZE]; static void invalidate_shadow_ldt(struct vcpu *v, int flush) { diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index c1ce027af0..3b199ca7b7 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -170,7 +170,7 @@ SECTIONS __bss_start = .; *(.bss.stack_aligned) . = ALIGN(PAGE_SIZE); - *(.bss.page_aligned) + *(.bss.page_aligned*) *(.bss) . = ALIGN(SMP_CACHE_BYTES); __per_cpu_start = .;