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

Baoquan He bhe at redhat.com
Wed Jan 31 03:04:57 PST 2024


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 at redhat.com>

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