x86: move .altinstr_replacement past _einittext
authorJan Beulich <jbeulich@suse.com>
Tue, 15 Jun 2021 13:15:26 +0000 (15:15 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 15 Jun 2021 13:15:26 +0000 (15:15 +0200)
This section's contents do not represent part of actual hypervisor text,
so shouldn't be included in what is_kernel_inittext() or (while still
booting) is_active_kernel_text() report "true" for. Keep them in
.init.text though, as there's no real reason to have a separate section
for this in the final binary.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/xen.lds.S

index 34f647a44e75c2ac34050961a614741e83705756..9c6c1c8005aedc5c87eee57a7650ca94a49e4506 100644 (file)
@@ -185,13 +185,13 @@ SECTIONS
 #endif
        _sinittext = .;
        *(.init.text)
+       _einittext = .;
        /*
         * Here are the replacement instructions. The linker sticks them
         * as binary blobs. The .altinstructions has enough data to get
         * the address and the length of them to patch the kernel safely.
         */
        *(.altinstr_replacement)
-       _einittext = .;
 
 #ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
        . = ALIGN(SMP_CACHE_BYTES);