[PATCH v3 5/6] x86/boot: Move .head.text into its own output section

From: Ard Biesheuvel
Date: Mon Nov 25 2024 - 12:05:35 EST


From: Ard Biesheuvel <ardb@xxxxxxxxxx>

In order to be able to double check that vmlinux is emitted without
absolute symbol references in .head.text, it needs to be distinguishable
from the rest of .text in the ELF metadata.

So move .head.text into its own ELF section.

Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
---
arch/x86/kernel/vmlinux.lds.S | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index c98bc91bafef..9c194df2c8e4 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -135,8 +135,6 @@ SECTIONS
#endif
ALIGN_ENTRY_TEXT_END

- /* bootstrapping code */
- HEAD_TEXT
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
@@ -151,6 +149,11 @@ SECTIONS

} :text = 0xcccccccc

+ /* bootstrapping code */
+ .head.text : AT(ADDR(.head.text) - LOAD_OFFSET) {
+ HEAD_TEXT
+ } :text = 0xcccccccc
+
/* End of text section, which should occupy whole number of pages */
_etext = .;
. = ALIGN(PAGE_SIZE);
--
2.47.0.371.ga323438b13-goog