Messages in this thread | | | Date | Wed, 9 Oct 2013 11:14:48 +0100 | From | Will Deacon <> | Subject | Re: [PATCH] arm64: add PAGE_ALIGNED_DATA to linker script |
| |
On Tue, Oct 08, 2013 at 09:37:39PM +0100, Mark Salter wrote: > The arm64 linker script doesn't use the PAGE_ALIGNED_DATA macro which > leads to a ".data..page_aligned" section being placed between the end > of .data and start of .bss: > > % readelf -e vmlinux > ... > Section to Segment mapping: > Segment Sections... > 00 .head.text .text .text.init .rodata __ksymtab __ksymtab_gpl \ > __ksymtab_strings __param __modver __ex_table .notes \ > .init.text .init.data .data..percpu .data .data..page_aligned .bss > > This causes problems for the EFI stub which may have to relocate the > kernel image based on stext and _edata symbols. > > This patch adds PAGE_ALIGNED_DATA() to the linker script inside the > the .data section. > > Signed-off-by: Mark Salter <msalter@redhat.com> > --- > arch/arm64/kernel/vmlinux.lds.S | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S > index f8ab9d8..e441556 100644 > --- a/arch/arm64/kernel/vmlinux.lds.S > +++ b/arch/arm64/kernel/vmlinux.lds.S > @@ -110,6 +110,7 @@ SECTIONS > */ > INIT_TASK_DATA(THREAD_SIZE) > NOSAVE_DATA > + PAGE_ALIGNED_DATA(PAGE_SIZE) > CACHELINE_ALIGNED_DATA(64) > READ_MOSTLY_DATA(64)
Can we just replace this chunk with RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE) instead?
Will
| |