aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWHR <whr@rivoreo.one>2024-05-01 00:55:10 +0800
committerTom Rini <trini@konsulko.com>2024-05-13 16:51:13 -0600
commite0112bc508b142786b919eb48c2dc8eca9f0361b (patch)
treeeb0ec4b30912ae321a2786a2dc7a5019a4783554
parent1466e065a94b3cd242f945f16c916a7f7da02985 (diff)
downloadu-boot-e0112bc508b142786b919eb48c2dc8eca9f0361b.zip
u-boot-e0112bc508b142786b919eb48c2dc8eca9f0361b.tar.gz
u-boot-e0112bc508b142786b919eb48c2dc8eca9f0361b.tar.bz2
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>
-rw-r--r--cmd/sandbox/exception.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cmd/sandbox/exception.c b/cmd/sandbox/exception.c
index cfa153d..f9c847d 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;
}