aboutsummaryrefslogtreecommitdiffstats
path: root/devel/boehm-gc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/boehm-gc')
-rw-r--r--devel/boehm-gc/Makefile3
-rw-r--r--devel/boehm-gc/distinfo4
-rw-r--r--devel/boehm-gc/files/patch-dyn_load.c35
-rw-r--r--devel/boehm-gc/files/patch-include-private-gcconfig.h67
-rw-r--r--devel/boehm-gc/files/patch-include_gc_cpp.h20
-rw-r--r--devel/boehm-gc/files/patch-mach_dep.c11
-rw-r--r--devel/boehm-gc/files/patch-os_dep.c33
-rw-r--r--devel/boehm-gc/pkg-plist1
8 files changed, 135 insertions, 39 deletions
diff --git a/devel/boehm-gc/Makefile b/devel/boehm-gc/Makefile
index d2bcebbedf73..edc3889d886c 100644
--- a/devel/boehm-gc/Makefile
+++ b/devel/boehm-gc/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= boehm-gc
-PORTVERSION= 6.2
-PORTREVISION= 2
+PORTVERSION= 6.3
CATEGORIES= devel
MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/
DISTNAME= gc${PORTVERSION:S/.a/alpha/}
diff --git a/devel/boehm-gc/distinfo b/devel/boehm-gc/distinfo
index 124e47d913e2..d7f4d66c7218 100644
--- a/devel/boehm-gc/distinfo
+++ b/devel/boehm-gc/distinfo
@@ -1,2 +1,2 @@
-MD5 (gc6.2.tar.gz) = 15492b14ca7b9a9e035238611e9cd1e3
-SIZE (gc6.2.tar.gz) = 750883
+MD5 (gc6.3.tar.gz) = 8b37ee18cbeb1dfd1866958e280db871
+SIZE (gc6.3.tar.gz) = 772114
diff --git a/devel/boehm-gc/files/patch-dyn_load.c b/devel/boehm-gc/files/patch-dyn_load.c
index f843bdb93336..e8b954ecffb8 100644
--- a/devel/boehm-gc/files/patch-dyn_load.c
+++ b/devel/boehm-gc/files/patch-dyn_load.c
@@ -1,22 +1,15 @@
---- dyn_load.c.orig 2004-05-05 11:53:09.000000000 +0200
-+++ dyn_load.c 2004-05-05 12:03:40.000000000 +0200
-@@ -91,11 +91,19 @@
- /* Newer versions of GNU/Linux define this macro. We
- * define it similarly for any ELF systems that don't. */
- # ifndef ElfW
-+#ifdef __FreeBSD__
-+#if __ELF_WORD_SIZE == 32
-+#define ElfW(type) Elf32_##type
-+#else
-+#define ElfW(type) Elf64_##type
-+#endif
-+#else
- # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
- # define ElfW(type) Elf32_##type
+--- dyn_load.c.orig Thu May 6 08:03:06 2004
++++ dyn_load.c Sun Oct 31 01:53:01 2004
+@@ -97,6 +97,12 @@
+ # else
+ # define ElfW(type) Elf64_##type
+ # endif
++# elif defined(__FreeBSD__)
++# if __ELF_WORD_SIZE == 32
++# define ElfW(type) Elf32_##type
++# else
++# define ElfW(type) Elf64_##type
++# endif
# else
- # define ElfW(type) Elf64_##type
- # endif
-+#endif
- # endif
-
- #if defined(SUNOS5DL) && !defined(USE_PROC_FOR_LIBRARIES)
+ # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
+ # define ElfW(type) Elf32_##type
diff --git a/devel/boehm-gc/files/patch-include-private-gcconfig.h b/devel/boehm-gc/files/patch-include-private-gcconfig.h
index 4614764af153..488a6b821632 100644
--- a/devel/boehm-gc/files/patch-include-private-gcconfig.h
+++ b/devel/boehm-gc/files/patch-include-private-gcconfig.h
@@ -1,27 +1,66 @@
---- include/private/gcconfig.h.orig Tue Jun 17 04:01:23 2003
-+++ include/private/gcconfig.h Wed May 5 14:35:44 2004
-@@ -306,6 +306,10 @@
- # define I386
+--- include/private/gcconfig.h.orig Thu May 6 08:10:54 2004
++++ include/private/gcconfig.h Sun Oct 31 02:55:05 2004
+@@ -170,7 +170,7 @@
# define mach_type_known
# endif
+ # if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \
+- && !defined(__OpenBSD__) && !(__NetBSD__)
++ && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__FreeBSD__)
+ # define SPARC
+ # define DRSNX
+ # define mach_type_known
+@@ -314,6 +314,14 @@
+ # define X86_64
+ # define mach_type_known
+ # endif
+# if defined(__FreeBSD__) && defined(__amd64__)
+# define X86_64
+# define mach_type_known
-+# endif
++#endif
++# if defined(__FreeBSD__) && defined(__sparc__)
++# define SPARC
++# define mach_type_known
++#endif
# if defined(bsdi) && (defined(i386) || defined(__i386__))
# define I386
# define BSDI
-@@ -1793,6 +1797,13 @@
- __asm__ __volatile__ (" prefetch %0": : "m"(*(char *)(x)))
- # define PREFETCH_FOR_WRITE(x) \
- __asm__ __volatile__ (" prefetchw %0": : "m"(*(char *)(x)))
-+# endif
+@@ -938,6 +946,23 @@
+ # define DATASTART ((ptr_t)(etext))
+ # endif
+ # endif
+# ifdef FREEBSD
+# define OS_TYPE "FREEBSD"
-+# define DYNAMIC_LOADING
-+# define HEURISTIC2
++# define SIG_SUSPEND SIGUSR1
++# define SIG_THR_RESTART SIGUSR2
++# define FREEBSD_STACKBOTTOM
++# ifdef __ELF__
++# define DYNAMIC_LOADING
++# endif
+ extern char etext[];
-+# define SEARCH_FOR_DATA_START
- # endif
++ extern char edata[];
++ extern char end[];
++# define NEED_FIND_LIMIT
++# define DATASTART ((ptr_t)(&etext))
++# define DATAEND (GC_find_limit (DATASTART, TRUE))
++# define DATASTART2 ((ptr_t)(&edata))
++# define DATAEND2 ((ptr_t)(&end))
++# endif
# endif
+ # ifdef I386
+@@ -1860,6 +1885,15 @@
+ # endif
+ # ifdef NETBSD
+ # define OS_TYPE "NETBSD"
++# ifdef __ELF__
++# define DYNAMIC_LOADING
++# endif
++# define HEURISTIC2
++ extern char etext[];
++# define SEARCH_FOR_DATA_START
++# endif
++# ifdef FREEBSD
++# define OS_TYPE "FREEBSD"
+ # ifdef __ELF__
+ # define DYNAMIC_LOADING
+ # endif
diff --git a/devel/boehm-gc/files/patch-include_gc_cpp.h b/devel/boehm-gc/files/patch-include_gc_cpp.h
new file mode 100644
index 000000000000..14281c8af909
--- /dev/null
+++ b/devel/boehm-gc/files/patch-include_gc_cpp.h
@@ -0,0 +1,20 @@
+--- include/gc_cpp.h.orig Thu Oct 14 12:19:56 2004
++++ include/gc_cpp.h Thu Oct 14 12:20:15 2004
+@@ -276,7 +276,7 @@
+ else
+ return GC_MALLOC_UNCOLLECTABLE( size );}
+
+-inline void* gc::operator new( size_t size, void *p ) {
++inline void* gc::operator new( size_t, void *p ) {
+ return p;}
+
+ inline void gc::operator delete( void* obj ) {
+@@ -294,7 +294,7 @@
+ inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
+ return gc::operator new( size, gcp );}
+
+-inline void* gc::operator new[]( size_t size, void *p ) {
++inline void* gc::operator new[]( size_t, void *p ) {
+ return p;}
+
+ inline void gc::operator delete[]( void* obj ) {
diff --git a/devel/boehm-gc/files/patch-mach_dep.c b/devel/boehm-gc/files/patch-mach_dep.c
new file mode 100644
index 000000000000..6229acf5d0a6
--- /dev/null
+++ b/devel/boehm-gc/files/patch-mach_dep.c
@@ -0,0 +1,11 @@
+--- mach_dep.c.orig Tue Dec 2 09:04:34 2003
++++ mach_dep.c Sun Oct 31 02:13:04 2004
+@@ -465,7 +465,7 @@
+ /* the stack. Return sp. */
+ # ifdef SPARC
+ asm(" .seg \"text\"");
+-# if defined(SVR4) || defined(NETBSD)
++# if defined(SVR4) || defined(NETBSD) || defined(FREEBSD)
+ asm(" .globl GC_save_regs_in_stack");
+ asm("GC_save_regs_in_stack:");
+ asm(" .type GC_save_regs_in_stack,#function");
diff --git a/devel/boehm-gc/files/patch-os_dep.c b/devel/boehm-gc/files/patch-os_dep.c
new file mode 100644
index 000000000000..4cc0a023f4cc
--- /dev/null
+++ b/devel/boehm-gc/files/patch-os_dep.c
@@ -0,0 +1,33 @@
+--- os_dep.c.orig Thu Jul 8 04:16:28 2004
++++ os_dep.c Sun Oct 31 02:13:04 2004
+@@ -2372,7 +2372,7 @@
+ # endif
+ # ifdef FREEBSD
+ # define SIG_OK (sig == SIGBUS)
+-# define CODE_OK (code == BUS_PAGE_FAULT)
++# define CODE_OK TRUE
+ # endif
+ # endif /* SUNOS4 || (FREEBSD && !SUNOS5SIGS) */
+
+@@ -3943,7 +3943,11 @@
+ # if defined(OPENBSD) || defined(NETBSD)
+ # include <frame.h>
+ # else
+-# include <sys/frame.h>
++# if defined(FREEBSD)
++# include <machine/frame.h>
++# else
++# include <sys/frame.h>
++# endif
+ # endif
+ # endif
+ # endif
+@@ -3989,7 +3993,7 @@
+
+ #else /* No builtin backtrace; do it ourselves */
+
+-#if (defined(OPENBSD) || defined(NETBSD)) && defined(SPARC)
++#if (defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD)) && defined(SPARC)
+ # define FR_SAVFP fr_fp
+ # define FR_SAVPC fr_pc
+ #else
diff --git a/devel/boehm-gc/pkg-plist b/devel/boehm-gc/pkg-plist
index bb3faa1f9b31..77890e8d42b3 100644
--- a/devel/boehm-gc/pkg-plist
+++ b/devel/boehm-gc/pkg-plist
@@ -59,6 +59,7 @@ share/doc/gc/gcdescr.html
share/doc/gc/gcinterface.html
share/doc/gc/leak.html
share/doc/gc/scale.html
+share/doc/gc/simple_example.html
share/doc/gc/tree.html
@dirrm share/doc/gc
@dirrm include/gc