pkgsrc/lang/mono2/patches/patch-da
2013-09-12 20:13:41 +00:00

159 lines
3.8 KiB
Text

$NetBSD: patch-da,v 1.2 2013/09/12 20:13:41 jperkin Exp $
* Support DragonFlyBSD
* Support 64-bit SunOS
* Use mmap on NetBSD
--- libgc/include/private/gcconfig.h.orig 2012-01-30 18:01:22.000000000 +0000
+++ libgc/include/private/gcconfig.h
@@ -163,6 +163,11 @@
# define SUNOS5
# define mach_type_known
# endif
+# if defined(sun) && defined(__amd64)
+# define X86_64
+# define SUNOS5
+# define mach_type_known
+# endif
# if (defined(__OS2__) || defined(__EMX__)) && defined(__32BIT__)
# define I386
# define OS2
@@ -361,6 +366,9 @@
# define OPENBSD
# define mach_type_known
# endif
+# if defined(__DragonFly__)
+# define FREEBSD
+# endif
# if defined(FREEBSD) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -700,6 +708,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# ifdef __ELF__
# define DATASTART GC_data_start
@@ -891,6 +903,10 @@
# ifdef NETBSD
# define ALIGNMENT 4
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
extern char etext[];
# define DATASTART GC_data_start
@@ -1062,6 +1078,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# ifdef __ELF__
# define DATASTART GC_data_start
@@ -1374,6 +1394,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# ifdef __ELF__
# define DYNAMIC_LOADING
# endif
@@ -1534,6 +1558,10 @@
# if defined(NETBSD)
# define ALIGNMENT 4
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# define USE_GENERIC_PUSH_REGS
# ifdef __ELF__
@@ -1660,6 +1688,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# define DATASTART GC_data_start
# define ELFCLASS32 32
@@ -1923,6 +1955,10 @@
# define ALIGNMENT 4
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# ifdef __ELF__
# define DATASTART GC_data_start
@@ -2020,6 +2056,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# define HEURISTIC2
# define DATASTART GC_data_start
# define USE_GENERIC_PUSH_REGS
@@ -2131,6 +2171,10 @@
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
+# ifndef USE_MMAP
+# define USE_MMAP
+# endif
+# define USE_MMAP_ANON
# ifdef __ELF__
# define DYNAMIC_LOADING
# endif
@@ -2138,6 +2182,29 @@
extern char etext[];
# define SEARCH_FOR_DATA_START
# endif
+# ifdef SUNOS5
+# define OS_TYPE "SUNOS5"
+# define ELF_CLASS ELFCLASS64
+ extern int _etext[], _end[];
+ extern ptr_t GC_SysVGetDataStart();
+# define DATASTART GC_SysVGetDataStart(0x1000, _etext)
+# define DATAEND (_end)
+# include <sys/vmparam.h>
+# ifdef USERLIMIT
+# define STACKBOTTOM USRSTACK
+# else
+# define HEURISTIC2
+# endif
+# define DYNAMIC_LOADING
+# if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
+# define USE_MMAP
+# endif
+# ifdef USE_MMAP
+# define HEAP_START (ptr_t)0x40000000
+# else
+# define HEAP_START DATAEND
+# endif
+# endif
# ifdef OPENBSD
# define OS_TYPE "OPENBSD"
# define ELF_CLASS ELFCLASS64