summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug148214
-rw-r--r--src/common/compat.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/changes/bug14821 b/changes/bug14821
new file mode 100644
index 0000000000..0920d1fffc
--- /dev/null
+++ b/changes/bug14821
@@ -0,0 +1,4 @@
+ o Major bugfixes (compilation):
+ - Correctly repair hardened builds under the clang compiler. Previously,
+ our use of _FORTIFY_SOURCE would conflict with clang's address
+ sanitizer. Closes ticket 14821.
diff --git a/src/common/compat.h b/src/common/compat.h
index c7c468c754..66cc079259 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -42,6 +42,15 @@
#include <netinet6/in6.h>
#endif
+#if defined(__has_feature)
+# if __has_feature(address_sanitizer)
+/* Some of the fancy glibc strcmp() macros include references to memory that
+ * clang rejects because it is off the end of a less-than-3. Clang hates this,
+ * even though those references never actually happen. */
+# undef strcmp
+# endif
+#endif
+
#include <stdio.h>
#include <errno.h>