123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- $OpenBSD: patch-boehm-gc_include_private_gcconfig_h,v 1.6 2016/03/09 18:45:52 jasper Exp $
- --- boehm-gc/include/private/gcconfig.h.orig Fri Mar 2 19:21:41 2012
- +++ boehm-gc/include/private/gcconfig.h Sat Apr 13 16:20:18 2013
- @@ -62,7 +62,7 @@
- /* Determine the machine type: */
- # if defined(__arm__) || defined(__thumb__)
- # define ARM32
- -# if !defined(LINUX) && !defined(NETBSD)
- +# if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD)
- # define NOSYS
- # define mach_type_known
- # endif
- @@ -77,14 +77,18 @@
- # define HP
- # define mach_type_known
- # endif
- -# if defined(OPENBSD) && defined(m68k)
- -# define M68K
- -# define mach_type_known
- -# endif
- # if defined(OPENBSD) && defined(__sparc__)
- # define SPARC
- # define mach_type_known
- # endif
- +# if defined(OPENBSD) && defined(__arm__)
- +# define ARM32
- +# define mach_type_known
- +# endif
- +# if defined(OPENBSD) && defined(__sh__)
- +# define SH
- +# define mach_type_known
- +# endif
- # if defined(NETBSD) && (defined(m68k) || defined(__m68k__))
- # define M68K
- # define mach_type_known
- @@ -119,7 +123,7 @@
- # if defined(nec_ews) || defined(_nec_ews)
- # define EWS4800
- # endif
- -# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
- +# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD) && !defined(OPENBSD)
- # if defined(ultrix) || defined(__ultrix)
- # define ULTRIX
- # else
- @@ -210,7 +214,7 @@
- # if defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
- || defined(hppa) || defined(__hppa__)
- # define HP_PA
- -# if !defined(LINUX) && !defined(HPUX)
- +# if !defined(LINUX) && !defined(HPUX) && !defined(OPENBSD)
- # define HPUX
- # endif
- # define mach_type_known
- @@ -231,6 +235,10 @@
- # define I386
- # define mach_type_known
- # endif
- +# if defined(OPENBSD) && defined(__amd64)
- +# define X86_64
- +# define mach_type_known
- +# endif
- # if defined(LINUX) && defined(__x86_64__)
- # define X86_64
- # define mach_type_known
- @@ -302,6 +310,11 @@
- # define MACOS
- # define mach_type_known
- # endif
- +# if defined(__OpenBSD__) && defined(__powerpc__)
- +# define POWERPC
- +# define OPENBSD
- +# define mach_type_known
- +# endif
- # if defined(macosx) || (defined(__APPLE__) && defined(__MACH__))
- # define DARWIN
- # if defined(__ppc__) || defined(__ppc64__)
- @@ -651,18 +664,6 @@
- # ifdef M68K
- # define MACH_TYPE "M68K"
- # define ALIGNMENT 2
- -# ifdef OPENBSD
- -# define OS_TYPE "OPENBSD"
- -# define HEURISTIC2
- -# ifdef __ELF__
- -# define DATASTART GC_data_start
- -# define DYNAMIC_LOADING
- -# else
- - extern char etext[];
- -# define DATASTART ((ptr_t)(etext))
- -# endif
- -# define USE_GENERIC_PUSH_REGS
- -# endif
- # ifdef NETBSD
- # define OS_TYPE "NETBSD"
- # define HEURISTIC2
- @@ -836,6 +837,24 @@
- should be looked into some more */
- # define NO_PTHREAD_TRYLOCK
- # endif
- +# ifdef OPENBSD
- +# define OS_TYPE "OPENBSD"
- +# define ALIGNMENT 4
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- +# endif
- # ifdef FREEBSD
- # define ALIGNMENT 4
- # define OS_TYPE "FREEBSD"
- @@ -994,9 +1013,20 @@
- # endif
- # ifdef OPENBSD
- # define OS_TYPE "OPENBSD"
- -# define STACKBOTTOM ((ptr_t) 0xf8000000)
- - extern int etext[];
- -# define DATASTART ((ptr_t)(etext))
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- # endif
- # ifdef NETBSD
- # define OS_TYPE "NETBSD"
- @@ -1250,6 +1280,20 @@
- # endif
- # ifdef OPENBSD
- # define OS_TYPE "OPENBSD"
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- # endif
- # ifdef FREEBSD
- # define OS_TYPE "FREEBSD"
- @@ -1285,7 +1329,7 @@
- # ifdef BSDI
- # define OS_TYPE "BSDI"
- # endif
- -# if defined(OPENBSD) || defined(NETBSD) \
- +# if defined(NETBSD) \
- || defined(THREE86BSD) || defined(BSDI)
- # define HEURISTIC2
- extern char etext[];
- @@ -1475,6 +1519,24 @@
- # define STACKBOTTOM ((ptr_t) 0x7ffff000)
- # endif /* _ELF_ */
- # endif
- +# ifdef OPENBSD
- +# define OS_TYPE "OPENBSD"
- +# define ALIGNMENT 4
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int _fdata[];
- +# define DATASTART ((ptr_t)(_fdata))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- +# endif
- # endif
-
- # ifdef RS6000
- @@ -1522,7 +1584,7 @@
- # define ALIGNMENT 4
- # define ALIGN_DOUBLE
- # endif
- -# if !defined(GC_HPUX_THREADS) && !defined(GC_LINUX_THREADS)
- +# if !defined(GC_HPUX_THREADS) && !defined(GC_LINUX_THREADS) && !defined(OPENBSD)
- # ifndef LINUX /* For now. */
- # define MPROTECT_VDB
- # endif
- @@ -1574,6 +1636,23 @@
- extern int _end[];
- # define DATAEND (&_end)
- # endif /* LINUX */
- +# ifdef OPENBSD
- +# define OS_TYPE "OPENBSD"
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- +# endif
- # endif /* HP_PA */
-
- # ifdef ALPHA
- @@ -1598,15 +1677,21 @@
- # endif
- # ifdef OPENBSD
- # define OS_TYPE "OPENBSD"
- -# define HEURISTIC2
- -# ifdef __ELF__ /* since OpenBSD/Alpha 2.9 */
- -# define DATASTART GC_data_start
- -# define ELFCLASS32 32
- -# define ELFCLASS64 64
- -# define ELF_CLASS ELFCLASS64
- -# else /* ECOFF, until OpenBSD/Alpha 2.7 */
- -# define DATASTART ((ptr_t) 0x140000000)
- -# endif
- +# define ELF_CLASS ELFCLASS64
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- # endif
- # ifdef FREEBSD
- # define OS_TYPE "FREEBSD"
- @@ -1786,6 +1871,7 @@
- # ifdef CX_UX
- # define OS_TYPE "CX_UX"
- # define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000)
- +# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
- # endif
- # ifdef DGUX
- # define OS_TYPE "DGUX"
- @@ -1896,6 +1982,24 @@
- # define OS_TYPE "MSWINCE"
- # define DATAEND /* not needed */
- # endif
- +# ifdef OPENBSD
- +# define ALIGNMENT 4
- +# define OS_TYPE "OPENBSD"
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- +# endif
- # ifdef NOSYS
- /* __data_start is usually defined in the target linker script. */
- extern int __data_start[];
- @@ -1943,6 +2047,23 @@
- # define USE_GENERIC_PUSH_REGS
- # define DYNAMIC_LOADING
- # endif
- +# ifdef OPENBSD
- +# define OS_TYPE "OPENBSD"
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- +# endif
- # endif
-
- # ifdef SH4
- @@ -1975,6 +2096,24 @@
- # define CPP_WORDSZ 64
- # ifndef HBLKSIZE
- # define HBLKSIZE 4096
- +# endif
- +# ifdef OPENBSD
- +# define OS_TYPE "OPENBSD"
- +# define ELF_CLASS ELFCLASS64
- +# define SIG_SUSPEND SIGXFSZ
- +# define SIG_THR_RESTART SIGXCPU
- +# ifndef GC_OPENBSD_THREADS
- +# include <sys/param.h>
- +# include <uvm/uvm_extern.h>
- +# define STACKBOTTOM USRSTACK
- +# endif
- + extern int __data_start[];
- +# define DATASTART ((ptr_t)(__data_start))
- + extern char _end[];
- +# define DATAEND ((ptr_t)(&_end))
- +# define DYNAMIC_LOADING
- +# define USE_MMAP
- +# define USE_MMAP_ANON
- # endif
- # define CACHE_LINE_SIZE 64
- # define USE_GENERIC_PUSH_REGS
|