Neither of these should live in .data * .data.schedulers is only ever read, so is moved into .rodata * CONSTRUCTORS is only ever read, and only at boot, so is moved to beside .init.rodata
Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> CC: Wei Liu <w...@xen.org> CC: Roger Pau Monné <roger....@citrix.com> CC: Stefano Stabellini <sstabell...@kernel.org> CC: Julien Grall <julien.gr...@arm.com> --- xen/arch/arm/xen.lds.S | 11 ++++++----- xen/arch/x86/xen.lds.S | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 31d74a8..2b44e5d 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -66,6 +66,11 @@ SECTIONS *(.data.param) __param_end = .; + . = ALIGN(POINTER_ALIGN); + __start_schedulers_array = .; + *(.data.schedulers) + __end_schedulers_array = .; + __proc_info_start = .; *(.proc.info) __proc_info_end = .; @@ -92,12 +97,7 @@ SECTIONS . = ALIGN(PAGE_SIZE); *(.data.page_aligned) *(.data) - . = ALIGN(8); - __start_schedulers_array = .; - *(.data.schedulers) - __end_schedulers_array = .; *(.data.*) - CONSTRUCTORS } :text . = ALIGN(SMP_CACHE_BYTES); @@ -154,6 +154,7 @@ SECTIONS .init.data : { *(.init.rodata) *(.init.rodata.*) + CONSTRUCTORS . = ALIGN(POINTER_ALIGN); __setup_start = .; diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index ec37d38..9fa6c99 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -140,6 +140,11 @@ SECTIONS *(.data.param) __param_end = .; + . = ALIGN(POINTER_ALIGN); + __start_schedulers_array = .; + *(.data.schedulers) + __end_schedulers_array = .; + #if defined(CONFIG_HAS_VPCI) && defined(CONFIG_LATE_HWDOM) . = ALIGN(POINTER_ALIGN); __start_vpci_array = .; @@ -207,6 +212,7 @@ SECTIONS *(.init.rodata) *(.init.rodata.*) + CONSTRUCTORS . = ALIGN(POINTER_ALIGN); __setup_start = .; @@ -261,17 +267,12 @@ SECTIONS . = ALIGN(SMP_CACHE_BYTES); DECL_SECTION(.data.read_mostly) { *(.data.read_mostly) - . = ALIGN(8); - __start_schedulers_array = .; - *(.data.schedulers) - __end_schedulers_array = .; } :text DECL_SECTION(.data) { *(.data.page_aligned) *(.data) *(.data.*) - CONSTRUCTORS } :text DECL_SECTION(.bss) { -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel