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 8f35dfd110..c5df4dc20c 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -42,6 +42,15 @@ #include #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 #include