mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 14:13:53 +00:00
crc32: use __BYTE_ORDER macro for endian detection.
Since crc32.c contains a nifty test program that can be executed in user space, make sure endian detection works reliably in user space too. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
836e2af925
commit
4762bbc1a3
@ -50,7 +50,7 @@ MODULE_LICENSE("GPL");
|
|||||||
static inline u32
|
static inline u32
|
||||||
crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256])
|
crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256])
|
||||||
{
|
{
|
||||||
# ifdef __LITTLE_ENDIAN
|
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
# define DO_CRC(x) crc = tab[0][(crc ^ (x)) & 255] ^ (crc >> 8)
|
# define DO_CRC(x) crc = tab[0][(crc ^ (x)) & 255] ^ (crc >> 8)
|
||||||
# define DO_CRC4 crc = tab[3][(crc) & 255] ^ \
|
# define DO_CRC4 crc = tab[3][(crc) & 255] ^ \
|
||||||
tab[2][(crc >> 8) & 255] ^ \
|
tab[2][(crc >> 8) & 255] ^ \
|
||||||
|
Loading…
Reference in New Issue
Block a user