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

Thomas Huth thuth at redhat.com
Thu Jun 14 00:54:23 AEST 2018


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 */
-- 
1.8.3.1



More information about the SLOF mailing list