Merge topic 'backport-determine-abi-fix' into release-4.0

41fbc2ce16 CMakeDetermineCompilerABI: Make ABI info string more robust

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10973
diff --git a/Modules/CMakeCompilerABI.h b/Modules/CMakeCompilerABI.h
index ec0d785..621e3f8 100644
--- a/Modules/CMakeCompilerABI.h
+++ b/Modules/CMakeCompilerABI.h
@@ -40,6 +40,12 @@
 #  define ABI_ID "ELF"
 #endif
 
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
 #if defined(ABI_ID)
-static char const info_abi[] = "INFO:abi[" ABI_ID "]";
+static char const* info_abi = "INFO"
+                              ":"
+                              "abi[" ABI_ID "]";
 #endif