Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Avoid UBSan error in libucl
Alex Richardson committed 5 years ago
commit 0c727b460cdca21deba5a475b15b32c79a848c66
parent 6c32d78
2 files changed +3 -2
modified .cirrus.yml
@@ -58,7 +58,8 @@ fedora_task:
                image: fedora:latest
        env:
                LDFLAGS: -fsanitize=address,undefined -ldl -g
-
                CPPFLAGS: -fsanitize=address,undefined -g
+
                # Avoid error when building with UBSan inside _mum_hash_avx2
+
                CPPFLAGS: -fsanitize=address,undefined -g -D_MUM_UNALIGNED_ACCESS=0
                CXXFLAGS: -fsanitize=address,undefined -g
                CFLAGS: -fsanitize=address,undefined -g
                # False-positive leak detection in glibc:
modified external/libucl/src/mum.h
@@ -399,7 +399,7 @@ mum_hash64 (uint64_t key, uint64_t seed) {
   target endianness and the unroll factor.  */
static inline uint64_t
mum_hash (const void *key, size_t len, uint64_t seed) {
-
#if defined(__x86_64__) && defined(_MUM_FRESH_GCC)
+
#if defined(__x86_64__) && defined(_MUM_FRESH_GCC) && _MUM_UNALIGNED_ACCESS != 0
  static int avx2_support = 0;

  if (avx2_support > 0)