And here is a disassembly of a locally-built siphash24_compress, built using the same toolchain as was used for building systemd, which I have been unable to get to crash with unaligned input.
The code is identical with only differences in the addresses, except for this rather surprising bit at the end:
Not sure what to make of that. But the added ldrdeq is in the working code, not the code that has crashes reported against it; so it doesn't seem to be relevant.
And here is a disassembly of a locally-built siphash24_compress, built using the same toolchain as was used for building systemd, which I have been unable to get to crash with unaligned input.
The code is identical with only differences in the addresses, except for this rather surprising bit at the end:
nop
-andeq r12, r1, r10, lsr #16
-muleq r1, r4, r9
-andeq r7, r1, lr, lsr #19
+andeq r2, r0, r10, ror #25
+ ; <UNDEFINED> instruction: 0x000017b0
+ldrdeq r1, [r0], -r6
End of assembler dump.
(gdb)
Not sure what to make of that. But the added ldrdeq is in the working code, not the code that has crashes reported against it; so it doesn't seem to be relevant.