From: Ivan Maidanski Date: Sat, 22 Oct 2016 06:48:29 +0000 (+0300) Subject: Eliminate 'value of DATASTART2 unknown' cppcheck info messages X-Git-Tag: v7.6.2~354 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0cba986973d7ea3561281f9ec5cb97f73abdf29f;p=gc Eliminate 'value of DATASTART2 unknown' cppcheck info messages * dyn_load.c [HAVE_DL_ITERATE_PHDR] (GC_register_dynamic_libraries_dl_iterate_phdr): Replace defined(DATASTART2) with defined(GC_HAVE_DATAREGION2). * os_dep.c [!OS2 && !MSWIN32 && !OPENBSD] (GC_register_data_segments): Likewise. * include/private/gcconfig.h [DATASTART2] (GC_HAVE_DATAREGION2): New macro. --- diff --git a/dyn_load.c b/dyn_load.c index 64ce06da..ecbff293 100644 --- a/dyn_load.c +++ b/dyn_load.c @@ -626,7 +626,7 @@ STATIC GC_bool GC_register_dynamic_libraries_dl_iterate_phdr(void) /* dl_iterate_phdr may forget the static data segment in */ /* statically linked executables. */ GC_add_roots_inner(datastart, dataend, TRUE); -# if defined(DATASTART2) +# ifdef GC_HAVE_DATAREGION2 if ((word)DATASTART2 - 1U >= (word)DATAEND2) { /* Subtract one to check also for NULL */ /* without a compiler warning. */ diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index 3e038e20..8aec17a3 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -1223,6 +1223,7 @@ ptr_t GC_find_limit(ptr_t, GC_bool); # define DATAEND GC_find_limit(DATASTART, TRUE) # define DATAEND_IS_FUNC +# define GC_HAVE_DATAREGION2 # define DATASTART2 ((ptr_t)(&edata)) # define DATAEND2 ((ptr_t)(&end)) # endif @@ -1650,6 +1651,7 @@ # define DATASTART ((ptr_t)((((word)(etext) + 0x3ffff) & ~0x3ffff) \ + ((word)(etext) & 0xffff))) # define DATAEND ((ptr_t)(edata)) +# define GC_HAVE_DATAREGION2 # define DATASTART2 (_DYNAMIC_LINKING \ ? (ptr_t)(((word)_gp + 0x8000 + 0x3ffff) & ~0x3ffff) \ : (ptr_t)edata) @@ -1901,6 +1903,7 @@ ptr_t GC_find_limit(ptr_t, GC_bool); # define DATAEND GC_find_limit(DATASTART, TRUE) # define DATAEND_IS_FUNC +# define GC_HAVE_DATAREGION2 # define DATASTART2 ((ptr_t)(&edata)) # define DATAEND2 ((ptr_t)(&end)) # endif diff --git a/os_dep.c b/os_dep.c index 9f2337db..687d79c1 100644 --- a/os_dep.c +++ b/os_dep.c @@ -1955,7 +1955,7 @@ void GC_register_data_segments(void) ": %p .. %p", DATASTART, DATAEND); } GC_add_roots_inner(DATASTART, DATAEND, FALSE); -# if defined(DATASTART2) +# ifdef GC_HAVE_DATAREGION2 if ((word)DATASTART2 - 1U >= (word)DATAEND2) ABORT_ARG2("Wrong DATASTART/END2 pair", ": %p .. %p", DATASTART2, DATAEND2);