diff options
Diffstat (limited to 'dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch')
-rw-r--r-- | dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch new file mode 100644 index 000000000000..932df9355a99 --- /dev/null +++ b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch @@ -0,0 +1,33 @@ +Causes SIGBUS on armv7 (at least in jiji's arm32-on-arm64 chroot) in Pandas test +suite. Unaligned access is UB anyway. +--- a/blosc/blosc-common.h ++++ b/blosc/blosc-common.h +@@ -43,28 +43,6 @@ + */ + #if !defined(BLOSC_STRICT_ALIGN) + #define BLOSC_STRICT_ALIGN +-#if defined(__i386__) || defined(__386) || defined (__amd64) /* GNU C, Sun Studio */ +-#undef BLOSC_STRICT_ALIGN +-#elif defined(__i486__) || defined(__i586__) || defined(__i686__) /* GNU C */ +-#undef BLOSC_STRICT_ALIGN +-#elif defined(_M_IX86) || defined(_M_X64) /* Intel, MSVC */ +-#undef BLOSC_STRICT_ALIGN +-#elif defined(__386) +-#undef BLOSC_STRICT_ALIGN +-#elif defined(_X86_) /* MinGW */ +-#undef BLOSC_STRICT_ALIGN +-#elif defined(__I86__) /* Digital Mars */ +-#undef BLOSC_STRICT_ALIGN +-/* Seems like unaligned access in ARM (at least ARMv6) is pretty +- expensive, so we are going to always enforce strict alignment in ARM. +- If anybody suggest that newer ARMs are better, we can revisit this. */ +-/* #elif defined(__ARM_FEATURE_UNALIGNED) */ /* ARM, GNU C */ +-/* #undef BLOSC_STRICT_ALIGN */ +-#elif defined(_ARCH_PPC) || defined(__PPC__) +-/* Modern PowerPC systems (like POWER8) should support unaligned access +- quite efficiently. */ +-#undef BLOSC_STRICT_ALIGN +-#endif + #endif + + #if defined(__SSE2__) |