[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 6/7] x86/efi: do not merge all .init sections
As a result of relocations now being applied after the trampoline has been copied into the low 1MB region, there's no need for a single .init section that's writable, as .init.text is no longer modified. Remove the bodge and fallback to the layout used by ELF images with an .init.text and .init.data section. The resulting PE sections are: Sections: Idx Name Size VMA LMA File off Algn 0 .text 0019072c ffff82d040200000 ffff82d040200000 00000440 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .rodata 000884c8 ffff82d040400000 ffff82d040400000 00190b80 2**2 CONTENTS, ALLOC, LOAD, DATA 2 .buildid 00000035 ffff82d0404884c8 ffff82d0404884c8 00219060 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .init.text 00052866 ffff82d040600000 ffff82d040600000 002190a0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 4 .init.data 00059730 ffff82d040658000 ffff82d040658000 0026b920 2**2 CONTENTS, ALLOC, LOAD, DATA [...] Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/arch/x86/xen.lds.S | 8 -------- 1 file changed, 8 deletions(-) diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index d4dd6434c466..5ab37cefa25a 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -197,11 +197,7 @@ SECTIONS __2M_init_start = .; /* Start of 2M superpages, mapped RWX (boot only). */ . = ALIGN(PAGE_SIZE); /* Init code and data */ __init_begin = .; -#ifdef EFI /* EFI wants to merge all of .init.* ELF doesn't. */ - DECL_SECTION(.init) { -#else DECL_SECTION(.init.text) { -#endif _sinittext = .; *(.init.text) *(.text.startup) @@ -213,12 +209,8 @@ SECTIONS */ *(.altinstr_replacement) -#ifdef EFI /* EFI wants to merge all of .init.* ELF doesn't. */ - . = ALIGN(SMP_CACHE_BYTES); -#else } PHDR(text) DECL_SECTION(.init.data) { -#endif *(.init.bss.stack_aligned) . = ALIGN(POINTER_ALIGN); -- 2.48.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |