summaryrefslogtreecommitdiff
path: root/mail/thunderbird/files/patch-i386-protobuf-alignment
diff options
context:
space:
mode:
authorChristoph Moench-Tegeder <cmt@FreeBSD.org>2023-09-26 21:14:51 +0200
committerChristoph Moench-Tegeder <cmt@FreeBSD.org>2023-09-26 21:14:51 +0200
commitafcc7e8a7365f9378d6ce30d41fdc41c818f8f17 (patch)
tree725562c940f0978fc54d32448a22981e245eb3dc /mail/thunderbird/files/patch-i386-protobuf-alignment
parentnet-mgmt/librenms: Update to 23.9.1 (diff)
mail/thunderbird: update to 115.3.0 (ga)
Release Notes: https://www.thunderbird.net/en-US/thunderbird/115.3.0/releasenotes/
Diffstat (limited to 'mail/thunderbird/files/patch-i386-protobuf-alignment')
-rw-r--r--mail/thunderbird/files/patch-i386-protobuf-alignment15
1 files changed, 15 insertions, 0 deletions
diff --git a/mail/thunderbird/files/patch-i386-protobuf-alignment b/mail/thunderbird/files/patch-i386-protobuf-alignment
new file mode 100644
index 000000000000..0d58c8644e79
--- /dev/null
+++ b/mail/thunderbird/files/patch-i386-protobuf-alignment
@@ -0,0 +1,15 @@
+# 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<LifecycleIdAtomic>)) CacheAlignedLifecycleIdGenerator {
+ std::atomic<LifecycleIdAtomic> id;
+ };
+ static CacheAlignedLifecycleIdGenerator lifecycle_id_generator_;