From ef879a9d20aac4d841196fc68fce12a50020d9d9 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 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 [MIPS && OPENBSD]: Reformat code. --- include/private/gcconfig.h | 58 +++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index 2bce234..dd5b2e8 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -999,7 +999,11 @@ # 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) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1216,7 +1220,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1481,7 +1487,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1715,18 +1723,20 @@ # 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) +# 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" @@ -1848,7 +1858,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -1878,7 +1890,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -2274,7 +2288,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -2331,7 +2347,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; # define DATASTART ((ptr_t)__data_start) @@ -2395,7 +2413,9 @@ # ifndef GC_OPENBSD_THREADS # include # include -# define STACKBOTTOM ((ptr_t)USRSTACK) +# ifdef USRSTACK +# define STACKBOTTOM ((ptr_t)USRSTACK) +# endif # endif extern int __data_start[]; extern int _end[]; -- 2.7.4