diff options
author | WHR <whr@rivoreo.one> | 2024-05-01 00:55:10 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-05-13 16:51:13 -0600 |
commit | e0112bc508b142786b919eb48c2dc8eca9f0361b (patch) | |
tree | eb0ec4b30912ae321a2786a2dc7a5019a4783554 | |
parent | 1466e065a94b3cd242f945f16c916a7f7da02985 (diff) | |
download | u-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.c | 4 |
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; } |