On 01/31/24 at 10:05am, Sergei Trofimovich wrote: > `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 I am not familiar with the gas behaviour, the fix sounds good from discussion in above link. Reviewed-by: Baoquan He <bhe@xxxxxxxxxx> > > Signed-off-by: Sergei Trofimovich <slyich@xxxxxxxxx> > --- > 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 > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec