Signed mod now calls __aeabi_idivmod instead of __modi3.

The ARM CPU does not have an integer division or modulo instruction. So the compiler must call
a helper function supplied by the C runtime. The helper function we had been calling,
__modi3, is not defined in our current C runtime, because gcc doesn't call it. Instead,
gcc calls __aeabi_idivmod, a function which computes both the dividend and the modulus at once.

We call __aeabi_idivmod now. We ignore the returned dividend, and just use the modulus.

Add a tiny test program to verify that mod works now.

Add sort.expected, the expected output of the sort.

The sort test now compiles and runs, but fails due to issues unrelated to modulus.
Need to investigate.
5 files changed