Workaround '__data_start<_etext is always false' cppcheck false positive
authorIvan Maidanski <ivmai@mail.ru>
Wed, 19 Dec 2018 19:17:25 +0000 (22:17 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 19 Dec 2018 19:17:25 +0000 (22:17 +0300)
* os_dep.c [SEARCH_FOR_DATA_START && (LINUX || HURD)
&& !IGNORE_PROG_DATA_START && HOST_ANDROID] (GC_init_linux_data_start):
Skip the workaround for "gold" linker if CPPCHECK.

os_dep.c

index 55567ee..8477f3a 100644 (file)
--- a/os_dep.c
+++ b/os_dep.c
@@ -436,7 +436,7 @@ GC_INNER char * GC_get_maps(void)
 
 #   if (defined(LINUX) || defined(HURD)) && !defined(IGNORE_PROG_DATA_START)
       /* Try the easy approaches first: */
-#     ifdef HOST_ANDROID
+#     if defined(HOST_ANDROID) && !defined(CPPCHECK)
         /* Workaround for "gold" (default) linker (as of Android NDK r10e). */
         if ((word)__data_start < (word)_etext
             && (word)_etext < (word)__dso_handle) {