summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch33
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__)