Attempt to fix an absolutely silly pile-up of big-endian bugs in polyval.c

Only big-endian systems are affected.

First off, the non-gcc fallback algorithm for byte swapping was wrong: We were OR-ing all the input bytes into the low 8 bits of the output.

Secondly, the non-gcc fallback code was broken: it was referring to "value", when the input was called "v".

Finally and more significantly, the big-endian detection was wrong: We were looking at WORDS_BIG_ENDIAN, when the actual autoconf macro is WORDS_BIGENDIAN.

I don't have hardware to test this on, but I hope it will be a start.

Closes bug #41215.

Merge request reports

Loading