[SLOF] [PATCH] Fix bad assembler statements for compiling with gcc 8.1 / as 2.30

Thomas Huth thuth at redhat.com
Wed Jun 27 17:37:38 AEST 2018


On 13.06.2018 16:54, Thomas Huth wrote:
> When compiling with a very recent toolchain, I get these warnings:
> 
> ../../llfw/boot_abort.S: Assembler messages:
> ../../llfw/boot_abort.S:76: Warning: invalid register expression
> 
> and:
> 
> stage2_head.S: Assembler messages:
> stage2_head.S:57: Warning: invalid register expression
> 
> The first one is using the wrong opcode, we should use "and" instead of
> "andi" here. The second one is using a register instead of a constant
> for load-immediate, which is non-sense, too. Fix it to use the right
> constant instead.
> 
> Signed-off-by: Thomas Huth <thuth at redhat.com>
> ---
>  board-qemu/llfw/stage2_head.S | 2 +-
>  llfw/boot_abort.S             | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/board-qemu/llfw/stage2_head.S b/board-qemu/llfw/stage2_head.S
> index adf7554..1568f27 100644
> --- a/board-qemu/llfw/stage2_head.S
> +++ b/board-qemu/llfw/stage2_head.S
> @@ -54,7 +54,7 @@ bsscdone:
>  	/* jump to c-code                       */
>  	/* r31 = fdt                    - r5    */
>  	/* ------------------------------------ */
> -	li	r3, r0
> +	li	r3, 0
>  	mr	r4, r31
>  	bl	.early_c_entry
>  
> diff --git a/llfw/boot_abort.S b/llfw/boot_abort.S
> index 996bdd7..47a9178 100644
> --- a/llfw/boot_abort.S
> +++ b/llfw/boot_abort.S
> @@ -73,7 +73,7 @@ ASM_ENTRY(boot_abort)
>  	
>  	/* check if i/o is possible, if yes then print message */
>  	li	r10, ABORT_CANIO
> -	andi.	r3, r31, r10
> +	and.	r3, r31, r10
>  	bne	abort_noio
>  
>  	/* use i/o ..., first print reference message */
> 

Ping?



More information about the SLOF mailing list