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 --- 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