# On FreeBSD/i386's LLVM, actual alignment for atomic types requires # stricter alignment rules, mostly on 8 byte boundaries instead of 4 byte # as indicated by max_align_t. --- ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h.orig 2022-08-20 20:07:57.096818000 +0200 +++ ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h 2022-08-20 21:40:47.821690000 +0200 @@ -640,7 +640,7 @@ #ifdef _MSC_VER #pragma warning(disable : 4324) #endif - struct alignas(kCacheAlignment) CacheAlignedLifecycleIdGenerator { + struct alignas(alignof(std::atomic)) CacheAlignedLifecycleIdGenerator { std::atomic id; }; static CacheAlignedLifecycleIdGenerator lifecycle_id_generator_;