何らかの理由で、このコードをコンパイルしようとすると、コンパイラは次のように言いますsyscall.s:72:invalid constant (0x172) after fixup
。
.globl _mach_msg_trap$MACH
_mach_msg_trap$MACH:
stmfd sp!, {r4,r7}
mov r7, #370 /* this is line 72 */
svc 0
ldmfd sp!, {r4, r7}
bx lr
なぜそれをしているのかわからない。に小さい定数を入れると、r7
うまくいきます。しかし、数値が高いと、このエラーが吐き出されます。mov r7, #300
とを実行して一時的に修正しましたadd r7, #70
。これにより、目的の効果が得られます。ただし、エラーの原因はまだわかりません。