Message ID | 1455048108-5045-5-git-send-email-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/02/16 20:01, Andrew Cooper wrote: > 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 <andrew.cooper3@citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com> > --- > CC: Jan Beulich <JBeulich@suse.com> > CC: George Dunlap <george.dunlap@eu.citrix.com> > --- > xen/arch/x86/mm.c | 2 +- > xen/arch/x86/xen.lds.S | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c > index d62d9ec..c214fc5 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 c1ce027..3b199ca 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 = .; >
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index d62d9ec..c214fc5 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 c1ce027..3b199ca 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 = .;
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 <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: George Dunlap <george.dunlap@eu.citrix.com> --- xen/arch/x86/mm.c | 2 +- xen/arch/x86/xen.lds.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)