Also I noticed another bug, this time in LZ4_count(): > #if defined(CONFIG_64BIT) > #define LZ4_ARCH64 1 > #else > #define LZ4_ARCH64 0 > #endif ... > #ifdef LZ4_ARCH64 > if ((pIn < (pInLimit-3)) > && (LZ4_read32(pMatch) == LZ4_read32(pIn))) { > pIn += 4; pMatch += 4; > } > #endif Because of how LZ4_ARCH64 is defined, it needs to be '#if LZ4_ARCH64'. But I also think the way upstream LZ4 does 64-bit detection could have just been left as-is; it has a function which gets inlined: static unsigned LZ4_64bits(void) { return sizeof(void*)==8; } Eric