Daniel Kahn Gillmor dkg@fifthhorseman.net writes:
I'd be happy to figure out how to give access to this powerpc machine if any of y'all want it,
I have access to a couple of big endian machines (the most convenient for me being a sparc), but I don't run tests on them very regularly.
or to make other changes and test them on this big-endian machine.
Now we get to patching patches, which gets a bit messy, but I suspect it will work fine if you replace
for (i = 0; i < _SALSA20_INPUT_LENGTH; i++) LE_WRITE_UINT32(&dst[i * sizeof (uint32_t)], dst32[i]);
at the end of Simon's salsa20_core.c:salsa20_core by
/* _salsa20_core does any needed byteswapping of the output. A memcpy is needed to support unaligned dst; simply casting like _salsa20_core ((uint32_t *) dst, src32, rounds) is not portable. */ memcpy (dst, dst32, sizeof (dst32));
Regards, /Niels