From e0112bc508b142786b919eb48c2dc8eca9f0361b Mon Sep 17 00:00:00 2001 From: WHR Date: Wed, 1 May 2024 00:55:10 +0800 Subject: [PATCH] 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 --- cmd/sandbox/exception.c | 4 ++++ 1 file changed, 4 insertions(+) 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; } -- 2.39.5