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

Ard Biesheuvel
2024-12-05T11:28:35Z

From: Ard Biesheuvel <ardb@kernel.org>

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@kernel.org>
---
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 1ce7889cd12b..56cdf13611e3 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.338.g60cca15819-goog