From fa707502501c3d2b5c0a172065077a50f9ec9bc0 Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Wed, 24 Jan 2018 17:37:23 +0300 Subject: [PATCH] Fix 'undeclared identifier USRSTACK' compiler error on OpenBSD-6.2 (back-port of commits ef879a9, 0bafc33 from 'master') Issue #198 (bdwgc). USRSTACK macro is defined in but that is protected by "ifdef _KERNEL" in . * include/private/gcconfig.h [POWERPC && OPENBSD && !GC_OPENBSD_THREADS] (STACKBOTTOM): Add comment. * include/private/gcconfig.h [(POWERPC || SPARC || I386 || MIPS || HP_PA || ALPHA || ARM32 || SH && !SH4 || X86_64) && OPENBSD && !GC_OPENBSD_THREADS] (STACKBOTTOM): Define only if USRSTACK is defined. * include/private/gcconfig.h [(POWERPC || SPARC || I386 || MIPS || HP_PA || ALPHA || ARM32 || SH && !SH4 || X86_64) && OPENBSD && !GC_OPENBSD_THREADS && !USRSTACK] (HEURISTIC2): Define. * include/private/gcconfig.h [(MIPS || SH && !SH4) && OPENBSD]: Reformat code. --- include/private/gcconfig.h | 96 ++++++++++++++++++++++++++------------ 1 file changed, 67 insertions(+), 29 deletions(-) diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index f77c9a86..ffbdc142 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -977,7 +977,13 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) + /* USRSTACK is defined in but that is */ + /* protected by _KERNEL in file. */ +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1199,7 +1205,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1467,7 +1477,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1707,18 +1721,22 @@ # endif /* _ELF_ */ # endif # ifdef OPENBSD -# define OS_TYPE "OPENBSD" -# define ALIGNMENT 4 +# define OS_TYPE "OPENBSD" +# define ALIGNMENT 4 # ifndef GC_OPENBSD_THREADS -# include -# include -# define STACKBOTTOM ((ptr_t)USRSTACK) -# endif - extern int _fdata[]; -# define DATASTART ((ptr_t)_fdata) - extern int _end[]; -# define DATAEND ((ptr_t)(&_end)) -# define DYNAMIC_LOADING +# include +# include +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif +# endif + extern int _fdata[]; +# define DATASTART ((ptr_t)_fdata) + extern int _end[]; +# define DATAEND ((ptr_t)(&_end)) +# define DYNAMIC_LOADING # endif # ifdef FREEBSD # define OS_TYPE "FREEBSD" @@ -1840,7 +1858,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1870,7 +1892,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -2272,7 +2298,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -2325,17 +2355,21 @@ # define DYNAMIC_LOADING # endif # ifdef OPENBSD -# define OS_TYPE "OPENBSD" -# ifndef GC_OPENBSD_THREADS -# include -# include -# define STACKBOTTOM ((ptr_t)USRSTACK) -# endif - extern int __data_start[]; -# define DATASTART ((ptr_t)__data_start) - extern int _end[]; -# define DATAEND ((ptr_t)(&_end)) -# define DYNAMIC_LOADING +# define OS_TYPE "OPENBSD" +# ifndef GC_OPENBSD_THREADS +# include +# include +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif +# endif + extern int __data_start[]; +# define DATASTART ((ptr_t)__data_start) + extern int _end[]; +# define DATAEND ((ptr_t)(&_end)) +# define DYNAMIC_LOADING # endif # endif @@ -2393,7 +2427,11 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# else +# define HEURISTIC2 +# endif # endif extern int __data_start[]; extern int _end[]; -- 2.40.0