[PATCH] kexec-tools: purgatory: fix build on `binutils-2.42`

Sergei Trofimovich slyich at gmail.com
Wed Jan 31 02:05:08 PST 2024


`binutils-2.42` introduced stricter checks on what `.arch` can be used
in 64-bit mode and started failing the build as:

    $ as-2.42 --64 -o entry32-16-debug.o entry32-16-debug.s
    purgatory/arch/i386/entry32-16-debug.S: Assembler messages:
    purgatory/arch/i386/entry32-16-debug.S:28: Error: 64bit mode not supported on `i386'.

The change moves `.code32` before `.arch 386` as suggested in
https://sourceware.org/PR31319

Signed-off-by: Sergei Trofimovich <slyich at gmail.com>
---
 purgatory/arch/i386/entry32-16-debug.S | 2 +-
 purgatory/arch/i386/entry32-16.S       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/purgatory/arch/i386/entry32-16-debug.S b/purgatory/arch/i386/entry32-16-debug.S
index 5167944..297d6f5 100644
--- a/purgatory/arch/i386/entry32-16-debug.S
+++ b/purgatory/arch/i386/entry32-16-debug.S
@@ -25,10 +25,10 @@
 	.globl entry16_debug_pre32
 	.globl entry16_debug_first32
 	.globl entry16_debug_old_first32
+	.code32
 	.arch i386
 	.balign 16
 entry16_debug:
-	.code32
 	/* Compute where I am running at (assumes esp valid) */
 	call	1f
 1:	popl	%ebx
diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
index c051aab..7a84565 100644
--- a/purgatory/arch/i386/entry32-16.S
+++ b/purgatory/arch/i386/entry32-16.S
@@ -20,10 +20,10 @@
 #undef i386	
 	.text
 	.globl entry16, entry16_regs
+	.code32
 	.arch i386
 	.balign 16
 entry16:
-	.code32
 	/* Compute where I am running at (assumes esp valid) */
 	call	1f
 1:	popl	%ebx
-- 
2.43.0




More information about the kexec mailing list