diff options
author | abs <abs> | 2000-11-16 10:42:24 +0000 |
---|---|---|
committer | abs <abs> | 2000-11-16 10:42:24 +0000 |
commit | c153f3ad306828b3de36c339cf8ff2af91ea395d (patch) | |
tree | 90cff752ad0822dff9501818c33eaf2ebd9d93f4 /devel/boehm-gc/patches | |
parent | 18316a5170e62e57a22ea651a2c9d33a918f45d0 (diff) | |
download | pkgsrc-c153f3ad306828b3de36c339cf8ff2af91ea395d.tar.gz |
Fix compilation on arm32 by testing for __arm32__ not arm32
Diffstat (limited to 'devel/boehm-gc/patches')
-rw-r--r-- | devel/boehm-gc/patches/patch-aa | 6 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ab | 107 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ac | 220 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ad | 187 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ae | 40 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-af | 54 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ag | 63 | ||||
-rw-r--r-- | devel/boehm-gc/patches/patch-ah | 7 |
8 files changed, 340 insertions, 344 deletions
diff --git a/devel/boehm-gc/patches/patch-aa b/devel/boehm-gc/patches/patch-aa index c64551107a3..ca272a82960 100644 --- a/devel/boehm-gc/patches/patch-aa +++ b/devel/boehm-gc/patches/patch-aa @@ -1,7 +1,7 @@ -$NetBSD: patch-aa,v 1.8 2000/06/20 21:50:20 jlam Exp $ +$NetBSD: patch-aa,v 1.9 2000/11/16 10:42:24 abs Exp $ ---- Makefile.orig Thu Apr 13 15:00:20 2000 -+++ Makefile Tue Jun 20 04:02:12 2000 +--- Makefile.orig Thu Apr 13 12:00:20 2000 ++++ Makefile @@ -10,8 +10,8 @@ ABI_FLAG= CC=cc $(ABI_FLAG) diff --git a/devel/boehm-gc/patches/patch-ab b/devel/boehm-gc/patches/patch-ab index 77cf1d6e720..7f1c1765020 100644 --- a/devel/boehm-gc/patches/patch-ab +++ b/devel/boehm-gc/patches/patch-ab @@ -1,74 +1,35 @@ -$NetBSD: patch-ab,v 1.4 1999/09/24 16:42:06 jlam Exp $ +$NetBSD: patch-ab,v 1.5 2000/11/16 10:42:24 abs Exp $ -*** gc.man.in.orig Fri Nov 15 08:56:14 1996 ---- gc.man.in Fri Nov 15 09:30:14 1996 -*************** -*** 9,15 **** - ... malloc(...) ... - .br - .sp -! cc ... gc.a - .LP - .SH DESCRIPTION - .I GC_malloc ---- 9,17 ---- - ... malloc(...) ... - .br - .sp -! cc ... -lgc -! .sp -! cc ... -lleak - .LP - .SH DESCRIPTION - .I GC_malloc -*************** -*** 67,72 **** ---- 69,116 ---- - This may temporarily write protect pages in the heap. See the README file for more information on how this interacts with system calls that write to the heap. - .LP - Other facilities not discussed here include limited facilities to support incremental collection on machines without appropriate VM support, provisions for providing more explicit object layout information to the garbage collector, more direct support for ``weak'' pointers, support for ``abortable'' garbage collections during idle time, etc. -+ .LP -+ .SH "PORT INFORMATION" -+ .LP -+ In this (BSD package) installation, -+ .I gc.h -+ and -+ .I gc_cpp.h -+ will be found in -+ .I @PREFIX@/include, -+ and the libraries in -+ .I @PREFIX@/lib. -+ .LP -+ These libraries have been compiled as drop-in replacements -+ for malloc and free (which is to say, all malloc -+ calls will allocate garbage-collectable data). -+ There is no need to include "gc.h" in your C files unless you want -+ access to the debugging (and other) functions defined there, -+ or unless you want to explicitly use -+ .I GC_malloc_uncollectable -+ for some allocations. -+ Just link against them whenever you want either garbage -+ collection or leak detection. -+ .LP -+ The C++ header file, "gc_cpp.h", -+ .I is -+ necessary for C++ programs, to obtain the appropriate -+ definitions of the -+ .I new -+ and -+ .I delete -+ operators. -+ The comments in both of these header files presently -+ provide far better documentation -+ for the package than this man page; -+ look there for more information. -+ .LP -+ Both libraries are compiled without (explicit) support -+ for the experimental -+ .I gc -+ extension of -+ .I g++. -+ This may or may not make a difference. - .LP - .SH "SEE ALSO" - The README and gc.h files in the distribution. More detailed definitions of the functions exported by the collector are given there. (The above list is not complete.) +--- dyn_load.c.orig Tue Apr 25 17:01:16 2000 ++++ dyn_load.c +@@ -50,7 +50,8 @@ + #if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \ + !defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \ + !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \ +- !defined(RS6000) && !defined(SCO_ELF) ++ !defined(RS6000) && !defined(SCO_ELF) && \ ++ !(defined(NETBSD) && defined(__ELF__)) + --> We only know how to find data segments of dynamic libraries for the + --> above. Additional SVR4 variants might not be too + --> hard to add. +@@ -297,14 +298,19 @@ + # endif /* !USE_PROC ... */ + # endif /* SUNOS */ + +-#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) ++#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ ++ (defined(NETBSD) && defined(__ELF__)) + + /* Dynamic loading code for Linux running ELF. Somewhat tested on + * Linux/x86, untested but hopefully should work on Linux/Alpha. + * This code was derived from the Solaris/ELF support. Thanks to + * whatever kind soul wrote that. - Patrick Bridges */ + ++#if defined(NETBSD) ++#include <sys/exec_elf.h> ++#else + #include <elf.h> ++#endif + #include <link.h> + + /* Newer versions of Linux/Alpha and Linux/x86 define this macro. We diff --git a/devel/boehm-gc/patches/patch-ac b/devel/boehm-gc/patches/patch-ac index fdf0d80515e..0a629b03f4a 100644 --- a/devel/boehm-gc/patches/patch-ac +++ b/devel/boehm-gc/patches/patch-ac @@ -1,158 +1,64 @@ -$NetBSD: patch-ac,v 1.8 2000/07/25 05:58:27 jlam Exp $ +$NetBSD: patch-ac,v 1.9 2000/11/16 10:42:24 abs Exp $ ---- gcconfig.h.orig Tue Apr 25 20:41:01 2000 -+++ gcconfig.h Tue Jul 25 01:54:06 2000 -@@ -27,6 +27,11 @@ - # define LINUX - # endif - -+# if defined(__NetBSD__) -+# define NETBSD -+# define unix /* symbol unix is no longer defined in NetBSD */ -+# endif -+ - /* Determine the machine type: */ - # if defined(sun) && defined(mc68000) - # define M68K -@@ -50,7 +55,10 @@ - # endif - # if defined(__NetBSD__) && defined(m68k) - # define M68K --# define NETBSD -+# define mach_type_known -+# endif -+# if defined(__NetBSD__) && defined(__powerpc__) -+# define POWERPC - # define mach_type_known - # endif - # if defined(__NetBSD__) && defined(arm32) -@@ -81,6 +89,9 @@ - # endif - # endif - # endif /* !LINUX */ -+# if defined(__NetBSD__) && defined(__MIPSEL__) -+# undef ULTRIX -+# endif - # define mach_type_known - # endif - # if defined(sequent) && defined(i386) -@@ -114,7 +125,7 @@ - # define mach_type_known - # endif - # if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \ -- && !defined(__OpenBSD__) -+ && !defined(__OpenBSD__) && !(__NetBSD__) - # define SPARC - # define DRSNX - # define mach_type_known -@@ -123,6 +134,10 @@ - # define RS6000 - # define mach_type_known - # endif -+# if defined(__NetBSD__) && defined(__sparc__) -+# define SPARC -+# define mach_type_known -+# endif - # if defined(_M_XENIX) && defined(_M_SYSV) && defined(_M_I386) - /* The above test may need refinement */ - # define I386 -@@ -172,7 +187,7 @@ - # endif - # if defined(__alpha) || defined(__alpha__) - # define ALPHA --# if !defined(LINUX) -+# if !defined(LINUX) && !defined(NETBSD) - # define OSF1 /* a.k.a Digital Unix */ - # endif - # define mach_type_known -@@ -221,7 +236,6 @@ - # endif - # if defined(__NetBSD__) && defined(i386) - # define I386 --# define NETBSD - # define mach_type_known - # endif - # if defined(bsdi) && defined(i386) -@@ -573,6 +587,14 @@ - # define STACKBOTTOM ((ptr_t) 0xc0000000) - # define DATAEND /* not needed */ - # endif -+# ifdef NETBSD -+# define ALIGNMENT 4 -+# define OS_TYPE "NETBSD" -+# define HEURISTIC2 -+ extern char etext; -+# define DATASTART GC_data_start -+# define DYNAMIC_LOADING -+# endif - # endif - - # ifdef VAX -@@ -602,7 +624,6 @@ - # define MACH_TYPE "SPARC" - # define ALIGNMENT 4 /* Required by hardware */ - # define ALIGN_DOUBLE -- extern int etext; - # ifdef SUNOS5 - # define OS_TYPE "SUNOS5" - extern int _etext; -@@ -674,8 +695,20 @@ - # ifdef OPENBSD - # define OS_TYPE "OPENBSD" - # define STACKBOTTOM ((ptr_t) 0xf8000000) -+ extern int etext; - # define DATASTART ((ptr_t)(&etext)) - # endif -+# ifdef NETBSD -+# define OS_TYPE "NETBSD" -+# define HEURISTIC2 -+# ifdef __ELF__ -+# define DATASTART GC_data_start -+# define DYNAMIC_LOADING -+# else -+ extern char etext; -+# define DATASTART ((ptr_t)(&etext)) -+# endif -+# endif - # endif - - # ifdef I386 -@@ -960,6 +993,21 @@ - # endif - # define DYNAMIC_LOADING - # endif -+# if defined(NETBSD) && defined(__MIPSEL__) -+# define ALIGNMENT 4 -+# define OS_TYPE "NETBSD" -+# define HEURISTIC2 -+# define USE_GENERIC_PUSH_REGS 1 -+# ifdef __ELF__ -+ extern int etext; -+# define DATASTART GC_data_start -+# define NEED_FIND_LIMIT -+# define DYNAMIC_LOADING -+# else -+# define DATASTART ((ptr_t) 0x10000000) -+# define STACKBOTTOM ((ptr_t) 0x7ffff000) -+# endif /* _ELF_ */ -+# endif - # endif - - # ifdef RS6000 -@@ -1019,6 +1067,16 @@ - /* fp registers in some cases when the target is a 21264. The assembly */ - /* code doesn't handle that yet, and version dependencies make that a */ - /* bit tricky. Do the easy thing for now. */ -+# ifdef NETBSD -+# define OS_TYPE "NETBSD" -+# define HEURISTIC2 -+# define DATASTART GC_data_start -+# define ELFCLASS32 32 -+# define ELFCLASS64 64 -+# define ELF_CLASS ELFCLASS64 -+# define CPP_WORDSZ 64 -+# define DYNAMIC_LOADING -+# endif - # ifdef OSF1 - # define OS_TYPE "OSF1" - # define DATASTART ((ptr_t) 0x140000000) +--- gc.man.in.orig Tue Sep 21 16:55:00 1999 ++++ gc.man.in +@@ -9,7 +9,9 @@ + ... malloc(...) ... + .br + .sp +-cc ... gc.a ++cc ... -lgc ++.sp ++cc ... -lleak + .LP + .SH DESCRIPTION + .I GC_malloc +@@ -67,6 +69,48 @@ + This may temporarily write protect pages in the heap. See the README file for more information on how this interacts with system calls that write to the heap. + .LP + Other facilities not discussed here include limited facilities to support incremental collection on machines without appropriate VM support, provisions for providing more explicit object layout information to the garbage collector, more direct support for ``weak'' pointers, support for ``abortable'' garbage collections during idle time, etc. ++.LP ++.SH "PORT INFORMATION" ++.LP ++In this (BSD package) installation, ++.I gc.h ++and ++.I gc_cpp.h ++will be found in ++.I @PREFIX@/include, ++and the libraries in ++.I @PREFIX@/lib. ++.LP ++These libraries have been compiled as drop-in replacements ++for malloc and free (which is to say, all malloc ++calls will allocate garbage-collectable data). ++There is no need to include "gc.h" in your C files unless you want ++access to the debugging (and other) functions defined there, ++or unless you want to explicitly use ++.I GC_malloc_uncollectable ++for some allocations. ++Just link against them whenever you want either garbage ++collection or leak detection. ++.LP ++The C++ header file, "gc_cpp.h", ++.I is ++necessary for C++ programs, to obtain the appropriate ++definitions of the ++.I new ++and ++.I delete ++operators. ++The comments in both of these header files presently ++provide far better documentation ++for the package than this man page; ++look there for more information. ++.LP ++Both libraries are compiled without (explicit) support ++for the experimental ++.I gc ++extension of ++.I g++. ++This may or may not make a difference. + .LP + .SH "SEE ALSO" + The README and gc.h files in the distribution. More detailed definitions of the functions exported by the collector are given there. (The above list is not complete.) diff --git a/devel/boehm-gc/patches/patch-ad b/devel/boehm-gc/patches/patch-ad index 452c8eaf658..c1e0490d00d 100644 --- a/devel/boehm-gc/patches/patch-ad +++ b/devel/boehm-gc/patches/patch-ad @@ -1,35 +1,162 @@ -$NetBSD: patch-ad,v 1.3 2000/06/20 21:50:20 jlam Exp $ +$NetBSD: patch-ad,v 1.4 2000/11/16 10:42:24 abs Exp $ ---- dyn_load.c.orig Wed Apr 26 09:01:16 2000 -+++ dyn_load.c Sat May 6 04:48:00 2000 -@@ -50,7 +50,8 @@ - #if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \ - !defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \ - !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \ -- !defined(RS6000) && !defined(SCO_ELF) -+ !defined(RS6000) && !defined(SCO_ELF) && \ -+ !(defined(NETBSD) && defined(__ELF__)) - --> We only know how to find data segments of dynamic libraries for the - --> above. Additional SVR4 variants might not be too - --> hard to add. -@@ -297,14 +298,19 @@ - # endif /* !USE_PROC ... */ - # endif /* SUNOS */ +--- gcconfig.h.orig Tue Apr 25 17:41:01 2000 ++++ gcconfig.h +@@ -27,6 +27,11 @@ + # define LINUX + # endif --#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) -+#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ -+ (defined(NETBSD) && defined(__ELF__)) ++# if defined(__NetBSD__) ++# define NETBSD ++# define unix /* symbol unix is no longer defined in NetBSD */ ++# endif ++ + /* Determine the machine type: */ + # if defined(sun) && defined(mc68000) + # define M68K +@@ -50,10 +55,13 @@ + # endif + # if defined(__NetBSD__) && defined(m68k) + # define M68K +-# define NETBSD + # define mach_type_known + # endif +-# if defined(__NetBSD__) && defined(arm32) ++# if defined(__NetBSD__) && defined(__powerpc__) ++# define POWERPC ++# define mach_type_known ++# endif ++# if defined(__NetBSD__) && defined(__arm32__) + # define ARM32 + # define NETBSD + # define mach_type_known +@@ -81,6 +89,9 @@ + # endif + # endif + # endif /* !LINUX */ ++# if defined(__NetBSD__) && defined(__MIPSEL__) ++# undef ULTRIX ++# endif + # define mach_type_known + # endif + # if defined(sequent) && defined(i386) +@@ -114,7 +125,7 @@ + # define mach_type_known + # endif + # if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \ +- && !defined(__OpenBSD__) ++ && !defined(__OpenBSD__) && !(__NetBSD__) + # define SPARC + # define DRSNX + # define mach_type_known +@@ -123,6 +134,10 @@ + # define RS6000 + # define mach_type_known + # endif ++# if defined(__NetBSD__) && defined(__sparc__) ++# define SPARC ++# define mach_type_known ++# endif + # if defined(_M_XENIX) && defined(_M_SYSV) && defined(_M_I386) + /* The above test may need refinement */ + # define I386 +@@ -172,7 +187,7 @@ + # endif + # if defined(__alpha) || defined(__alpha__) + # define ALPHA +-# if !defined(LINUX) ++# if !defined(LINUX) && !defined(NETBSD) + # define OSF1 /* a.k.a Digital Unix */ + # endif + # define mach_type_known +@@ -221,7 +236,6 @@ + # endif + # if defined(__NetBSD__) && defined(i386) + # define I386 +-# define NETBSD + # define mach_type_known + # endif + # if defined(bsdi) && defined(i386) +@@ -573,6 +587,14 @@ + # define STACKBOTTOM ((ptr_t) 0xc0000000) + # define DATAEND /* not needed */ + # endif ++# ifdef NETBSD ++# define ALIGNMENT 4 ++# define OS_TYPE "NETBSD" ++# define HEURISTIC2 ++ extern char etext; ++# define DATASTART GC_data_start ++# define DYNAMIC_LOADING ++# endif + # endif - /* Dynamic loading code for Linux running ELF. Somewhat tested on - * Linux/x86, untested but hopefully should work on Linux/Alpha. - * This code was derived from the Solaris/ELF support. Thanks to - * whatever kind soul wrote that. - Patrick Bridges */ + # ifdef VAX +@@ -602,7 +624,6 @@ + # define MACH_TYPE "SPARC" + # define ALIGNMENT 4 /* Required by hardware */ + # define ALIGN_DOUBLE +- extern int etext; + # ifdef SUNOS5 + # define OS_TYPE "SUNOS5" + extern int _etext; +@@ -674,8 +695,20 @@ + # ifdef OPENBSD + # define OS_TYPE "OPENBSD" + # define STACKBOTTOM ((ptr_t) 0xf8000000) ++ extern int etext; + # define DATASTART ((ptr_t)(&etext)) + # endif ++# ifdef NETBSD ++# define OS_TYPE "NETBSD" ++# define HEURISTIC2 ++# ifdef __ELF__ ++# define DATASTART GC_data_start ++# define DYNAMIC_LOADING ++# else ++ extern char etext; ++# define DATASTART ((ptr_t)(&etext)) ++# endif ++# endif + # endif -+#if defined(NETBSD) -+#include <sys/exec_elf.h> -+#else - #include <elf.h> -+#endif - #include <link.h> + # ifdef I386 +@@ -960,6 +993,21 @@ + # endif + # define DYNAMIC_LOADING + # endif ++# if defined(NETBSD) && defined(__MIPSEL__) ++# define ALIGNMENT 4 ++# define OS_TYPE "NETBSD" ++# define HEURISTIC2 ++# define USE_GENERIC_PUSH_REGS 1 ++# ifdef __ELF__ ++ extern int etext; ++# define DATASTART GC_data_start ++# define NEED_FIND_LIMIT ++# define DYNAMIC_LOADING ++# else ++# define DATASTART ((ptr_t) 0x10000000) ++# define STACKBOTTOM ((ptr_t) 0x7ffff000) ++# endif /* _ELF_ */ ++# endif + # endif - /* Newer versions of Linux/Alpha and Linux/x86 define this macro. We + # ifdef RS6000 +@@ -1019,6 +1067,16 @@ + /* fp registers in some cases when the target is a 21264. The assembly */ + /* code doesn't handle that yet, and version dependencies make that a */ + /* bit tricky. Do the easy thing for now. */ ++# ifdef NETBSD ++# define OS_TYPE "NETBSD" ++# define HEURISTIC2 ++# define DATASTART GC_data_start ++# define ELFCLASS32 32 ++# define ELFCLASS64 64 ++# define ELF_CLASS ELFCLASS64 ++# define CPP_WORDSZ 64 ++# define DYNAMIC_LOADING ++# endif + # ifdef OSF1 + # define OS_TYPE "OSF1" + # define DATASTART ((ptr_t) 0x140000000) diff --git a/devel/boehm-gc/patches/patch-ae b/devel/boehm-gc/patches/patch-ae index 0b222910907..91118defa92 100644 --- a/devel/boehm-gc/patches/patch-ae +++ b/devel/boehm-gc/patches/patch-ae @@ -1,13 +1,27 @@ -$NetBSD: patch-ae,v 1.3 2000/06/30 19:36:06 itojun Exp $ ---- misc.c.orig Wed Apr 5 09:37:29 2000 -+++ misc.c Sat Jul 1 04:30:58 2000 -@@ -453,6 +453,9 @@ - /* This doesn't really work if the collector is in a shared library. */ - GC_init_linux_data_start(); - # endif -+# if defined(NETBSD) && defined(__ELF__) -+ GC_init_netbsd_elf(); -+# endif - # ifdef SOLARIS_THREADS - GC_thr_init(); - /* We need dirty bits in order to find live stack sections. */ +$NetBSD: patch-ae,v 1.4 2000/11/16 10:42:24 abs Exp $ + +--- mach_dep.c.orig Fri Apr 14 13:57:14 2000 ++++ mach_dep.c +@@ -220,8 +220,10 @@ + # if defined(I386) &&!defined(OS2) &&!defined(SVR4) \ + && (defined(__MINGW32__) || !defined(MSWIN32)) \ + && !defined(SCO) && !defined(SCO_ELF) \ +- && !(defined(LINUX) && defined(__ELF__)) \ ++ && !(defined(LINUX) && defined(__ELF__)) \ + && !(defined(FREEBSD) && defined(__ELF__)) \ ++ && !(defined(NETBSD) && defined(__ELF__)) \ ++ && !(defined(OPENBSD) && defined(__ELF__)) \ + && !defined(DOS4GW) + /* I386 code, generic code does not appear to work */ + /* It does appear to work under OS2, and asms dont */ +@@ -236,7 +238,9 @@ + # endif + + # if ( defined(I386) && defined(LINUX) && defined(__ELF__) ) \ +- || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) ++ || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \ ++ || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \ ++ || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) + + /* This is modified for Linux with ELF (Note: _ELF_ only) */ + /* This section handles FreeBSD with ELF. */ diff --git a/devel/boehm-gc/patches/patch-af b/devel/boehm-gc/patches/patch-af index ea1c2bb0ae7..7d2e63e0739 100644 --- a/devel/boehm-gc/patches/patch-af +++ b/devel/boehm-gc/patches/patch-af @@ -1,42 +1,14 @@ -$NetBSD: patch-af,v 1.2 1999/11/04 15:21:58 minoura Exp $ +$NetBSD: patch-af,v 1.3 2000/11/16 10:42:24 abs Exp $ ---- os_dep.c.orig Fri Jul 9 05:01:06 1999 -+++ os_dep.c Tue Oct 26 11:14:37 1999 -@@ -156,6 +156,19 @@ - } - #endif - -+#if defined(NETBSD) && defined(__ELF__) -+ ptr_t GC_data_start; -+ -+ void GC_init_netbsd_elf() -+ { -+ extern ptr_t GC_find_limit(); -+ extern char **environ; -+ /* This may need to be environ, without the underscore, for */ -+ /* some versions. */ -+ GC_data_start = GC_find_limit((ptr_t)&environ, FALSE); -+ } -+#endif -+ - # ifdef OS2 - - # include <stddef.h> -@@ -2407,7 +2420,7 @@ - # if defined (DRSNX) - # include <sys/sparc/frame.h> - # else --# if defined(OPENBSD) -+# if defined(OPENBSD) || defined(NETBSD) - # include <frame.h> - # else - # include <sys/frame.h> -@@ -2422,7 +2435,7 @@ - /* Fill in the pc and argument information for up to NFRAMES of my */ - /* callers. Ignore my frame and my callers frame. */ - --#ifdef OPENBSD -+#if defined(OPENBSD) || defined(NETBSD) - # define FR_SAVFP fr_fp - # define FR_SAVPC fr_pc - #else +--- misc.c.orig Tue Apr 4 17:37:29 2000 ++++ misc.c +@@ -453,6 +453,9 @@ + /* This doesn't really work if the collector is in a shared library. */ + GC_init_linux_data_start(); + # endif ++# if defined(NETBSD) && defined(__ELF__) ++ GC_init_netbsd_elf(); ++# endif + # ifdef SOLARIS_THREADS + GC_thr_init(); + /* We need dirty bits in order to find live stack sections. */ diff --git a/devel/boehm-gc/patches/patch-ag b/devel/boehm-gc/patches/patch-ag index 0a95970df0a..46e057d3f01 100644 --- a/devel/boehm-gc/patches/patch-ag +++ b/devel/boehm-gc/patches/patch-ag @@ -1,27 +1,42 @@ -$NetBSD: patch-ag,v 1.3 2000/06/20 21:50:20 jlam Exp $ +$NetBSD: patch-ag,v 1.4 2000/11/16 10:42:24 abs Exp $ ---- mach_dep.c.orig Sat Apr 15 05:57:14 2000 -+++ mach_dep.c Sat May 6 04:59:30 2000 -@@ -220,8 +220,10 @@ - # if defined(I386) &&!defined(OS2) &&!defined(SVR4) \ - && (defined(__MINGW32__) || !defined(MSWIN32)) \ - && !defined(SCO) && !defined(SCO_ELF) \ -- && !(defined(LINUX) && defined(__ELF__)) \ -+ && !(defined(LINUX) && defined(__ELF__)) \ - && !(defined(FREEBSD) && defined(__ELF__)) \ -+ && !(defined(NETBSD) && defined(__ELF__)) \ -+ && !(defined(OPENBSD) && defined(__ELF__)) \ - && !defined(DOS4GW) - /* I386 code, generic code does not appear to work */ - /* It does appear to work under OS2, and asms dont */ -@@ -236,7 +238,9 @@ - # endif +--- os_dep.c.orig Mon Apr 17 14:57:52 2000 ++++ os_dep.c +@@ -161,6 +161,19 @@ + } + #endif - # if ( defined(I386) && defined(LINUX) && defined(__ELF__) ) \ -- || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) -+ || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \ -+ || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \ -+ || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) ++#if defined(NETBSD) && defined(__ELF__) ++ ptr_t GC_data_start; ++ ++ void GC_init_netbsd_elf() ++ { ++ extern ptr_t GC_find_limit(); ++ extern char **environ; ++ /* This may need to be environ, without the underscore, for */ ++ /* some versions. */ ++ GC_data_start = GC_find_limit((ptr_t)&environ, FALSE); ++ } ++#endif ++ + # ifdef OS2 - /* This is modified for Linux with ELF (Note: _ELF_ only) */ - /* This section handles FreeBSD with ELF. */ + # include <stddef.h> +@@ -2554,7 +2567,7 @@ + # if defined (DRSNX) + # include <sys/sparc/frame.h> + # else +-# if defined(OPENBSD) ++# if defined(OPENBSD) || defined(NETBSD) + # include <frame.h> + # else + # include <sys/frame.h> +@@ -2569,7 +2582,7 @@ + /* Fill in the pc and argument information for up to NFRAMES of my */ + /* callers. Ignore my frame and my callers frame. */ + +-#ifdef OPENBSD ++#if defined(OPENBSD) || defined(NETBSD) + # define FR_SAVFP fr_fp + # define FR_SAVPC fr_pc + #else diff --git a/devel/boehm-gc/patches/patch-ah b/devel/boehm-gc/patches/patch-ah index 26cf39eae58..20a061c29ce 100644 --- a/devel/boehm-gc/patches/patch-ah +++ b/devel/boehm-gc/patches/patch-ah @@ -1,6 +1,7 @@ -$NetBSD: patch-ah,v 1.2 1999/12/28 04:57:50 wiz Exp $ ---- /dev/null Tue Oct 26 10:29:31 1999 -+++ sparc_netbsd_mach_dep.s Tue Oct 26 10:52:55 1999 +$NetBSD: patch-ah,v 1.3 2000/11/16 10:42:24 abs Exp $ + +--- sparc_netbsd_mach_dep.s.orig Wed Nov 15 08:52:31 2000 ++++ sparc_netbsd_mach_dep.s @@ -0,0 +1,34 @@ +! SPARCompiler 3.0 and later apparently no longer handles +! asm outside functions. So we need a separate .s file |