Annotation of ports/patches/patch-boehm-gc_include_private_gcconfig_h, Revision 1.1
1.1 ! pascal 1: $OpenBSD$
! 2: --- boehm-gc/include/private/gcconfig.h.orig Sat Nov 12 10:01:29 2011
! 3: +++ boehm-gc/include/private/gcconfig.h Sat Nov 12 10:17:43 2011
! 4: @@ -62,7 +62,7 @@
! 5: /* Determine the machine type: */
! 6: # if defined(__arm__) || defined(__thumb__)
! 7: # define ARM32
! 8: -# if !defined(LINUX) && !defined(NETBSD)
! 9: +# if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD)
! 10: # define NOSYS
! 11: # define mach_type_known
! 12: # endif
! 13: @@ -77,14 +77,18 @@
! 14: # define HP
! 15: # define mach_type_known
! 16: # endif
! 17: -# if defined(OPENBSD) && defined(m68k)
! 18: -# define M68K
! 19: -# define mach_type_known
! 20: -# endif
! 21: # if defined(OPENBSD) && defined(__sparc__)
! 22: # define SPARC
! 23: # define mach_type_known
! 24: # endif
! 25: +# if defined(OPENBSD) && defined(__arm__)
! 26: +# define ARM32
! 27: +# define mach_type_known
! 28: +# endif
! 29: +# if defined(OPENBSD) && defined(__sh__)
! 30: +# define SH
! 31: +# define mach_type_known
! 32: +# endif
! 33: # if defined(NETBSD) && (defined(m68k) || defined(__m68k__))
! 34: # define M68K
! 35: # define mach_type_known
! 36: @@ -101,7 +105,7 @@
! 37: # define SH
! 38: # define mach_type_known
! 39: # endif
! 40: -# if defined(vax)
! 41: +# if defined(vax) || defined(__vax__)
! 42: # define VAX
! 43: # ifdef ultrix
! 44: # define ULTRIX
! 45: @@ -119,7 +123,7 @@
! 46: # if defined(nec_ews) || defined(_nec_ews)
! 47: # define EWS4800
! 48: # endif
! 49: -# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
! 50: +# if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD) && !defined(OPENBSD)
! 51: # if defined(ultrix) || defined(__ultrix)
! 52: # define ULTRIX
! 53: # else
! 54: @@ -210,7 +214,7 @@
! 55: # if defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
! 56: || defined(hppa) || defined(__hppa__)
! 57: # define HP_PA
! 58: -# if !defined(LINUX) && !defined(HPUX)
! 59: +# if !defined(LINUX) && !defined(HPUX) && !defined(OPENBSD)
! 60: # define HPUX
! 61: # endif
! 62: # define mach_type_known
! 63: @@ -231,6 +235,10 @@
! 64: # define I386
! 65: # define mach_type_known
! 66: # endif
! 67: +# if defined(OPENBSD) && defined(__amd64)
! 68: +# define X86_64
! 69: +# define mach_type_known
! 70: +# endif
! 71: # if defined(LINUX) && defined(__x86_64__)
! 72: # define X86_64
! 73: # define mach_type_known
! 74: @@ -302,6 +310,11 @@
! 75: # define MACOS
! 76: # define mach_type_known
! 77: # endif
! 78: +# if defined(__OpenBSD__) && defined(__powerpc__)
! 79: +# define POWERPC
! 80: +# define OPENBSD
! 81: +# define mach_type_known
! 82: +# endif
! 83: # if defined(macosx) || (defined(__APPLE__) && defined(__MACH__))
! 84: # define DARWIN
! 85: # if defined(__ppc__) || defined(__ppc64__)
! 86: @@ -651,18 +664,6 @@
! 87: # ifdef M68K
! 88: # define MACH_TYPE "M68K"
! 89: # define ALIGNMENT 2
! 90: -# ifdef OPENBSD
! 91: -# define OS_TYPE "OPENBSD"
! 92: -# define HEURISTIC2
! 93: -# ifdef __ELF__
! 94: -# define DATASTART GC_data_start
! 95: -# define DYNAMIC_LOADING
! 96: -# else
! 97: - extern char etext[];
! 98: -# define DATASTART ((ptr_t)(etext))
! 99: -# endif
! 100: -# define USE_GENERIC_PUSH_REGS
! 101: -# endif
! 102: # ifdef NETBSD
! 103: # define OS_TYPE "NETBSD"
! 104: # define HEURISTIC2
! 105: @@ -836,6 +837,24 @@
! 106: should be looked into some more */
! 107: # define NO_PTHREAD_TRYLOCK
! 108: # endif
! 109: +# ifdef OPENBSD
! 110: +# define OS_TYPE "OPENBSD"
! 111: +# define ALIGNMENT 4
! 112: +# ifdef GC_OPENBSD_THREADS
! 113: +# define UTHREAD_SP_OFFSET 268
! 114: +# else
! 115: +# include <sys/param.h>
! 116: +# include <uvm/uvm_extern.h>
! 117: +# define STACKBOTTOM USRSTACK
! 118: +# endif
! 119: + extern int __data_start[];
! 120: +# define DATASTART ((ptr_t)(__data_start))
! 121: + extern char _end[];
! 122: +# define DATAEND ((ptr_t)(&_end))
! 123: +# define DYNAMIC_LOADING
! 124: +# define USE_MMAP
! 125: +# define USE_MMAP_ANON
! 126: +# endif
! 127: # ifdef FREEBSD
! 128: # define ALIGNMENT 4
! 129: # define OS_TYPE "FREEBSD"
! 130: @@ -994,9 +1013,20 @@
! 131: # endif
! 132: # ifdef OPENBSD
! 133: # define OS_TYPE "OPENBSD"
! 134: -# define STACKBOTTOM ((ptr_t) 0xf8000000)
! 135: - extern int etext[];
! 136: -# define DATASTART ((ptr_t)(etext))
! 137: +# ifdef GC_OPENBSD_THREADS
! 138: +# define UTHREAD_SP_OFFSET 232
! 139: +# else
! 140: +# include <sys/param.h>
! 141: +# include <uvm/uvm_extern.h>
! 142: +# define STACKBOTTOM USRSTACK
! 143: +# endif
! 144: + extern int __data_start[];
! 145: +# define DATASTART ((ptr_t)(__data_start))
! 146: + extern char _end[];
! 147: +# define DATAEND ((ptr_t)(&_end))
! 148: +# define DYNAMIC_LOADING
! 149: +# define USE_MMAP
! 150: +# define USE_MMAP_ANON
! 151: # endif
! 152: # ifdef NETBSD
! 153: # define OS_TYPE "NETBSD"
! 154: @@ -1250,6 +1280,20 @@
! 155: # endif
! 156: # ifdef OPENBSD
! 157: # define OS_TYPE "OPENBSD"
! 158: +# ifdef GC_OPENBSD_THREADS
! 159: +# define UTHREAD_SP_OFFSET 192
! 160: +# else
! 161: +# include <sys/param.h>
! 162: +# include <uvm/uvm_extern.h>
! 163: +# define STACKBOTTOM USRSTACK
! 164: +# endif
! 165: + extern int __data_start[];
! 166: +# define DATASTART ((ptr_t)(__data_start))
! 167: + extern char _end[];
! 168: +# define DATAEND ((ptr_t)(&_end))
! 169: +# define DYNAMIC_LOADING
! 170: +# define USE_MMAP
! 171: +# define USE_MMAP_ANON
! 172: # endif
! 173: # ifdef FREEBSD
! 174: # define OS_TYPE "FREEBSD"
! 175: @@ -1471,6 +1515,24 @@
! 176: # define STACKBOTTOM ((ptr_t) 0x7ffff000)
! 177: # endif /* _ELF_ */
! 178: # endif
! 179: +# ifdef OPENBSD
! 180: +# define OS_TYPE "OPENBSD"
! 181: +# define ALIGNMENT 4
! 182: +# ifdef GC_OPENBSD_THREADS
! 183: +# define UTHREAD_SP_OFFSET 808
! 184: +# else
! 185: +# include <sys/param.h>
! 186: +# include <uvm/uvm_extern.h>
! 187: +# define STACKBOTTOM USRSTACK
! 188: +# endif
! 189: + extern int _fdata[];
! 190: +# define DATASTART ((ptr_t)(_fdata))
! 191: + extern char _end[];
! 192: +# define DATAEND ((ptr_t)(&_end))
! 193: +# define DYNAMIC_LOADING
! 194: +# define USE_MMAP
! 195: +# define USE_MMAP_ANON
! 196: +# endif
! 197: # endif
! 198:
! 199: # ifdef RS6000
! 200: @@ -1570,6 +1632,23 @@
! 201: extern int _end[];
! 202: # define DATAEND (&_end)
! 203: # endif /* LINUX */
! 204: +# ifdef OPENBSD
! 205: +# define OS_TYPE "OPENBSD"
! 206: +# ifdef GC_OPENBSD_THREADS
! 207: +# define UTHREAD_SP_OFFSET 520
! 208: +# else
! 209: +# include <sys/param.h>
! 210: +# include <uvm/uvm_extern.h>
! 211: +# define STACKBOTTOM USRSTACK
! 212: +# endif
! 213: + extern int __data_start[];
! 214: +# define DATASTART ((ptr_t)(__data_start))
! 215: + extern char _end[];
! 216: +# define DATAEND ((ptr_t)(&_end))
! 217: +# define DYNAMIC_LOADING
! 218: +# define USE_MMAP
! 219: +# define USE_MMAP_ANON
! 220: +# endif
! 221: # endif /* HP_PA */
! 222:
! 223: # ifdef ALPHA
! 224: @@ -1594,15 +1673,21 @@
! 225: # endif
! 226: # ifdef OPENBSD
! 227: # define OS_TYPE "OPENBSD"
! 228: -# define HEURISTIC2
! 229: -# ifdef __ELF__ /* since OpenBSD/Alpha 2.9 */
! 230: -# define DATASTART GC_data_start
! 231: -# define ELFCLASS32 32
! 232: -# define ELFCLASS64 64
! 233: -# define ELF_CLASS ELFCLASS64
! 234: -# else /* ECOFF, until OpenBSD/Alpha 2.7 */
! 235: -# define DATASTART ((ptr_t) 0x140000000)
! 236: -# endif
! 237: +# define ELF_CLASS ELFCLASS64
! 238: +# ifdef GC_OPENBSD_THREADS
! 239: +# define UTHREAD_SP_OFFSET 816
! 240: +# else
! 241: +# include <sys/param.h>
! 242: +# include <uvm/uvm_extern.h>
! 243: +# define STACKBOTTOM USRSTACK
! 244: +# endif
! 245: + extern int __data_start[];
! 246: +# define DATASTART ((ptr_t)(__data_start))
! 247: + extern char _end[];
! 248: +# define DATAEND ((ptr_t)(&_end))
! 249: +# define DYNAMIC_LOADING
! 250: +# define USE_MMAP
! 251: +# define USE_MMAP_ANON
! 252: # endif
! 253: # ifdef FREEBSD
! 254: # define OS_TYPE "FREEBSD"
! 255: @@ -1892,6 +1977,24 @@
! 256: # define OS_TYPE "MSWINCE"
! 257: # define DATAEND /* not needed */
! 258: # endif
! 259: +# ifdef OPENBSD
! 260: +# define ALIGNMENT 4
! 261: +# define OS_TYPE "OPENBSD"
! 262: +# ifdef GC_OPENBSD_THREADS
! 263: +# define UTHREAD_SP_OFFSET 176
! 264: +# else
! 265: +# include <sys/param.h>
! 266: +# include <uvm/uvm_extern.h>
! 267: +# define STACKBOTTOM USRSTACK
! 268: +# endif
! 269: + extern int __data_start[];
! 270: +# define DATASTART ((ptr_t)(__data_start))
! 271: + extern char _end[];
! 272: +# define DATAEND ((ptr_t)(&_end))
! 273: +# define DYNAMIC_LOADING
! 274: +# define USE_MMAP
! 275: +# define USE_MMAP_ANON
! 276: +# endif
! 277: # ifdef NOSYS
! 278: /* __data_start is usually defined in the target linker script. */
! 279: extern int __data_start[];
! 280: @@ -1939,6 +2042,23 @@
! 281: # define USE_GENERIC_PUSH_REGS
! 282: # define DYNAMIC_LOADING
! 283: # endif
! 284: +# ifdef OPENBSD
! 285: +# define OS_TYPE "OPENBSD"
! 286: +# ifdef GC_OPENBSD_THREADS
! 287: +# define UTHREAD_SP_OFFSET 332
! 288: +# else
! 289: +# include <sys/param.h>
! 290: +# include <uvm/uvm_extern.h>
! 291: +# define STACKBOTTOM USRSTACK
! 292: +# endif
! 293: + extern int __data_start[];
! 294: +# define DATASTART ((ptr_t)(__data_start))
! 295: + extern char _end[];
! 296: +# define DATAEND ((ptr_t)(&_end))
! 297: +# define DYNAMIC_LOADING
! 298: +# define USE_MMAP
! 299: +# define USE_MMAP_ANON
! 300: +# endif
! 301: # endif
! 302:
! 303: # ifdef SH4
! 304: @@ -1971,6 +2091,24 @@
! 305: # define CPP_WORDSZ 64
! 306: # ifndef HBLKSIZE
! 307: # define HBLKSIZE 4096
! 308: +# endif
! 309: +# ifdef OPENBSD
! 310: +# define OS_TYPE "OPENBSD"
! 311: +# define ELF_CLASS ELFCLASS64
! 312: +# ifdef GC_OPENBSD_THREADS
! 313: +# define UTHREAD_SP_OFFSET 400
! 314: +# else
! 315: +# include <sys/param.h>
! 316: +# include <uvm/uvm_extern.h>
! 317: +# define STACKBOTTOM USRSTACK
! 318: +# endif
! 319: + extern int __data_start[];
! 320: +# define DATASTART ((ptr_t)(__data_start))
! 321: + extern char _end[];
! 322: +# define DATAEND ((ptr_t)(&_end))
! 323: +# define DYNAMIC_LOADING
! 324: +# define USE_MMAP
! 325: +# define USE_MMAP_ANON
! 326: # endif
! 327: # define CACHE_LINE_SIZE 64
! 328: # define USE_GENERIC_PUSH_REGS