[PATCH v2] sandbox: make function 'do_undefined' properly compiles for PowerPC

WHR whr at rivoreo.one
Tue Apr 30 18:36:52 CEST 2024


The 2 bytes 0xffff is too short for being a PowerPC instruction, resulting
in an error similar to:
    /tmp/ccW8yjie.s: Assembler messages:
    /tmp/ccW8yjie.s: Error: unaligned opcodes detected in executable
segment /tmp/ccW8yjie.s:223: Error: instruction address is not a
multiple of 4 make[2]: *** [/tmp/ccyF4HIC.mk:17:
/tmp/ccCKUFuF.ltrans5.ltrans.o]
Error 1

Signed-off-by: WHR <msl0000023508 at gmail.com>

---
v2:
Resubmit with diff content in plain text.

 cmd/sandbox/exception.c | 4 ++++
 1 file changed, 4 insertions(+)
-------------- next part --------------
diff --git a/cmd/sandbox/exception.c b/cmd/sandbox/exception.c
index cfa153da26..f9c847d8ff 100644
--- a/cmd/sandbox/exception.c
+++ b/cmd/sandbox/exception.c
@@ -19,7 +19,11 @@ static int do_sigsegv(struct cmd_tbl *cmdtp, int flag, int argc,
 static int do_undefined(struct cmd_tbl *cmdtp, int flag, int argc,
 			char *const argv[])
 {
+#ifdef __powerpc__
+	asm volatile (".long 0xffffffff\n");
+#else
 	asm volatile (".word 0xffff\n");
+#endif
 	return CMD_RET_FAILURE;
 }
 


More information about the U-Boot mailing list