From: WHR <whr@rivoreo.one>
Date: Tue, 30 Apr 2024 16:55:10 +0000 (+0800)
Subject: sandbox: make function 'do_undefined' properly compiles for PowerPC
X-Git-Tag: v2025.01-rc5-pxa1908~409^2~20^2~5
X-Git-Url: http://git.dujemihanovic.xyz/img/static/html/%7B%7B?a=commitdiff_plain;h=e0112bc508b142786b919eb48c2dc8eca9f0361b;p=u-boot.git

sandbox: make function 'do_undefined' properly compiles for PowerPC

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@gmail.com>
---

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