summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Edwards <cfsworks@gmail.com>2025-03-15 15:18:05 -0700
committerTom Rini <trini@konsulko.com>2025-04-02 14:33:50 -0600
commit8c39dc549b0de155c02a2b39f01dae19775f41a5 (patch)
tree6a39b16c97e26d75cb521b4fd5eb33515c7ae9d2
parentd5734b183c3d578fff1c1e81e46a1d04342edffe (diff)
x86: Fix call64's section flags
When a section is not flagged with SHF_ALLOC, LLD's --gc-sections algorithm fails to visit the sections that it references. As a result of this, LLD was dropping the call64.o(.data) section, which is itself only referenced by .text_call64. This appears to be a bug in LLD, but the .section directive for .text_call64 should really have the correct flags either way. Add `"ax"` to mark the section as ALLOC ("supposed to be loaded") and CODE ("supposed to be executed"). Fixes: 7dc82591d68e2a ("x86: Move call64 into its own section") Signed-off-by: Sam Edwards <CFSworks@gmail.com>
-rw-r--r--arch/x86/cpu/i386/call64.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/cpu/i386/call64.S b/arch/x86/cpu/i386/call64.S
index d81bcc6f8f4..424732fa3fa 100644
--- a/arch/x86/cpu/i386/call64.S
+++ b/arch/x86/cpu/i386/call64.S
@@ -10,7 +10,7 @@
#include <asm/processor-flags.h>
.code32
-.section .text_call64
+.section .text_call64, "ax"
.globl cpu_call64
cpu_call64:
/*