summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2015-09-23 11:58:56 +0000
committerjoerg <joerg@pkgsrc.org>2015-09-23 11:58:56 +0000
commit69f113bb1545b82cc58e96f34b7f7b55d870ca55 (patch)
treea7e021511d58621e088ce3e122483f83a0ab21aa /mail
parent315d90242deb2e0d60b292bc0bfe8c07a03daf2e (diff)
downloadpkgsrc-69f113bb1545b82cc58e96f34b7f7b55d870ca55.tar.gz
__builtin_object_size may be delayed until codegen time by GCC, so
certain asserts based on ICE never trigger. Clang makes the choice earlier to declare the size as unknown, so it would fail the assert. The check in question is clearly bogus as an array parameter is really just a fancy way to write a pointer -- no size information is preserved.
Diffstat (limited to 'mail')
-rw-r--r--mail/dovecot2/distinfo3
-rw-r--r--mail/dovecot2/patches/patch-src_lib_buffer.h13
2 files changed, 15 insertions, 1 deletions
diff --git a/mail/dovecot2/distinfo b/mail/dovecot2/distinfo
index 75f6bfea436..46de8f7d344 100644
--- a/mail/dovecot2/distinfo
+++ b/mail/dovecot2/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.56 2015/09/04 18:49:36 wiedi Exp $
+$NetBSD: distinfo,v 1.57 2015/09/23 11:58:56 joerg Exp $
SHA1 (dovecot-2.2.18.tar.gz) = 8309b5ef8d33d464eb7a6e1d3cba0b4e87c55eff
RMD160 (dovecot-2.2.18.tar.gz) = 847ca54f76210d0f06b1471bee62d6fcdc7b02c7
@@ -7,5 +7,6 @@ SHA1 (patch-aa) = ea185011f0c1ee3aa1ff528e61f6f356fe385666
SHA1 (patch-ab) = d637a64feec8e4eafacda149cf0193aa1b70a054
SHA1 (patch-ae) = 51d8cb998cc2ded8bfc767710e465b752c50e656
SHA1 (patch-af) = c066e94dd6593d16eec3e66f5f4d26f021918498
+SHA1 (patch-src_lib_buffer.h) = e8b5cf89f7183f05403ef49512b23ac7f20b6b73
SHA1 (patch-src_lib_sendfile-util.c) = 6ed7c42aa84afce2d5eee9e405f9d15ec6fdbce9
SHA1 (patch-src_stats_mail-stats.h) = 90645c2aab956a0119630da4b71905db704bffda
diff --git a/mail/dovecot2/patches/patch-src_lib_buffer.h b/mail/dovecot2/patches/patch-src_lib_buffer.h
new file mode 100644
index 00000000000..620af77336c
--- /dev/null
+++ b/mail/dovecot2/patches/patch-src_lib_buffer.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-src_lib_buffer.h,v 1.1 2015/09/23 11:58:56 joerg Exp $
+
+--- src/lib/buffer.h.orig 2015-09-22 21:27:02.000000000 +0000
++++ src/lib/buffer.h
+@@ -20,7 +20,7 @@ void buffer_create_from_const_data(buffe
+ const void *data, size_t size);
+ #if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) > 401
+ #define buffer_create_from_data(b,d,s) ({ \
+- (void)COMPILE_ERROR_IF_TRUE(__builtin_object_size((d),3) < ((s)?(s):1)); \
++ (void)COMPILE_ERROR_IF_TRUE(__builtin_object_size((d),3) != 0 && __builtin_object_size((d),3) < ((s)?(s):1)); \
+ buffer_create_from_data((b), (d), (s)); })
+ #define buffer_create_from_const_data(b,d,s) ({ \
+ (void)COMPILE_ERROR_IF_TRUE(__builtin_object_size((d),3) < ((s)?(s):1)); \