Define HEURISTIC2 when STACKBOTTOM is not defined for OpenBSD
authorPeter Wang <novalazy@gmail.com>
Thu, 25 Jan 2018 22:35:20 +0000 (01:35 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 25 Jan 2018 22:35:20 +0000 (01:35 +0300)
(fix of commit ef879a9)

Issue #198 (bdwgc).

* 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 [SH && !SH4 && OPENBSD]: Reformat code.

include/private/gcconfig.h

index dd5b2e8..4fd768b 100644 (file)
         /* protected by _KERNEL in <uvm/uvm_param.h> file.              */
 #       ifdef USRSTACK
 #         define STACKBOTTOM ((ptr_t)USRSTACK)
+#       else
+#         define HEURISTIC2
 #       endif
 #     endif
       extern int __data_start[];
 #       include <uvm/uvm_extern.h>
 #       ifdef USRSTACK
 #         define STACKBOTTOM ((ptr_t)USRSTACK)
+#       else
+#         define HEURISTIC2
 #       endif
 #     endif
       extern int __data_start[];
 #         include <uvm/uvm_extern.h>
 #         ifdef USRSTACK
 #           define STACKBOTTOM ((ptr_t)USRSTACK)
+#         else
+#           define HEURISTIC2
 #         endif
 #       endif
         extern int __data_start[];
 #       include <uvm/uvm_extern.h>
 #       ifdef USRSTACK
 #         define STACKBOTTOM ((ptr_t)USRSTACK)
+#       else
+#         define HEURISTIC2
 #       endif
 #     endif
       extern int _fdata[];
 #       include <uvm/uvm_extern.h>
 #       ifdef USRSTACK
 #         define STACKBOTTOM ((ptr_t)USRSTACK)
+#       else
+#         define HEURISTIC2
 #       endif
 #     endif
       extern int __data_start[];
 #         include <uvm/uvm_extern.h>
 #         ifdef USRSTACK
 #           define STACKBOTTOM ((ptr_t)USRSTACK)
+#         else
+#           define HEURISTIC2
 #         endif
 #       endif
         extern int __data_start[];
 #       include <uvm/uvm_extern.h>
 #       ifdef USRSTACK
 #         define STACKBOTTOM ((ptr_t)USRSTACK)
+#       else
+#         define HEURISTIC2
 #       endif
 #     endif
       extern int __data_start[];
 #      define DYNAMIC_LOADING
 #   endif
 #   ifdef OPENBSD
-#      define OS_TYPE "OPENBSD"
-#      ifndef GC_OPENBSD_THREADS
-#        include <sys/param.h>
-#        include <uvm/uvm_extern.h>
-#        ifdef USRSTACK
-#          define STACKBOTTOM ((ptr_t)USRSTACK)
-#        endif
-#      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 <sys/param.h>
+#       include <uvm/uvm_extern.h>
+#       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
 
 #         include <uvm/uvm_extern.h>
 #         ifdef USRSTACK
 #           define STACKBOTTOM ((ptr_t)USRSTACK)
+#         else
+#           define HEURISTIC2
 #         endif
 #       endif
         extern int __data_start[];