From: Ivan Maidanski Date: Tue, 20 Jun 2017 14:05:20 +0000 (+0300) Subject: Prevent abort in register_data_segments for Symbian and Emscripten X-Git-Tag: v8.0.0~674 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=394c02bdb8bea4a3590452873f11a0692963ae5c;p=gc Prevent abort in register_data_segments for Symbian and Emscripten Issue #163 (bdwgc). DATASTART is tested to have a non-null value in GC_register_data_segments, so the macro should not be defined to null even if it is not really used (null value typically means that the corresponding weak symbol is not resolved). * include/private/gcconfig.h [SYMBIAN || __EMSCRIPTEN__] (DATASTART, DATAEND): Change to a non-null value (ALIGNMENT). --- diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index bf17dd63..4d1d797d 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -809,16 +809,16 @@ # define OS_TYPE "SYMBIAN" # define CPP_WORDSZ 32 # define ALIGNMENT 4 -# define DATASTART (ptr_t)NULL /* typed null for cppcheck */ -# define DATAEND (ptr_t)NULL +# define DATASTART (ptr_t)ALIGNMENT /* cannot be null */ +# define DATAEND (ptr_t)ALIGNMENT # endif # ifdef __EMSCRIPTEN__ # define OS_TYPE "EMSCRIPTEN" # define CPP_WORDSZ 32 # define ALIGNMENT 4 -# define DATASTART (ptr_t)NULL -# define DATAEND (ptr_t)NULL +# define DATASTART (ptr_t)ALIGNMENT +# define DATAEND (ptr_t)ALIGNMENT # define STACK_NOT_SCANNED # endif