Thanks to marius at monkey dot org for unbreaking this port.

Thanks to Andrew Delgleish for updating this to 6.2
patches submitted upstream.
This commit is contained in:
todd 2003-10-15 12:58:11 +00:00
parent 00e74fa246
commit f680842474
9 changed files with 132 additions and 53 deletions

View File

@ -1,13 +1,11 @@
# $OpenBSD: Makefile,v 1.24 2003/06/12 20:33:12 todd Exp $
# $OpenBSD: Makefile,v 1.25 2003/10/15 12:58:11 todd Exp $
# $FreeBSD: Makefile,v 1.4 1999/01/10 20:12:06 steve Exp $
COMMENT= "garbage collection and memory leak detection for C and C++"
BROKEN= "even regress fails with 'Memory fault' immediately."
VERSION= 6.1
VERSION= 6.2
DISTNAME= gc${VERSION}
PKGNAME= boehm-gc-${VERSION}p1
PKGNAME= boehm-gc-${VERSION}
CATEGORIES= devel
MASTER_SITES= ${HOMEPAGE}gc_source/
@ -25,9 +23,12 @@ MAKE_ENV= CP="cp" \
INSTALL_MAN="${INSTALL_MAN}"
CONFIGURE_STYLE=gnu
CONFIGURE_ARGS= ${CONFIGURE_SHARED}
CONFIGURE_ARGS= ${CONFIGURE_SHARED} --enable-full-debug
WRKDIST= ${WRKDIR}/gc6.1
# XXX the below causes failures still
# --enable-redirect-malloc
WRKDIST= ${WRKDIR}/gc${VERSION}
post-patch:
@mv ${WRKSRC}/doc/gc.man ${WRKSRC}/doc/gc.man.in
@ -37,7 +38,7 @@ post-patch:
post-install:
${INSTALL_DATA} ${WRKSRC}/doc/gc.man ${PREFIX}/man/man3/gc.3
${INSTALL_DATA_DIR} ${PREFIX}/include/private
${INSTALL_DATA} ${WRKSRC}/include/gc{,_{cpp,backptr,gcj,mark}}.h ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/gc{,_{cpp,backptr,gcj,mark,typed}}.h ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/private/gc{config,_{hdrs,locks,priv,pmark}}.h ${PREFIX}/include/private
REGRESS_TARGET= check-TESTS

View File

@ -1,3 +1,6 @@
MD5 (gc6.1.tar.gz) = 00a87b68f4baa21c56fa42d811e98f7c
RMD160 (gc6.1.tar.gz) = 2d29ab16ba5467c1ca208829345a04a813529629
SHA1 (gc6.1.tar.gz) = 043d51316ebb7f0ac919e4a72c456f269e604d2f
MD5 (gc6.2.tar.gz) = 15492b14ca7b9a9e035238611e9cd1e3
MD5 (gc6.3alpha2.tar.gz) = e6652f0f4286253574211ada7d579670
RMD160 (gc6.2.tar.gz) = 849969021e41697dc7cfd6773607ac73f0b525be
RMD160 (gc6.3alpha2.tar.gz) = 1c6f0c9b6fb55c83fe12e1b707f12b4e2a279dfe
SHA1 (gc6.2.tar.gz) = ef17f8f56e9853ef41808fdf5c4c7bf2f78f1fec
SHA1 (gc6.3alpha2.tar.gz) = e8ecb8efadaee68487f441c838ea97921ec73fc0

View File

@ -1,15 +1,15 @@
$OpenBSD: patch-dyn_load_c,v 1.2 2002/10/26 13:25:26 todd Exp $
--- dyn_load.c.orig Tue Aug 6 15:14:31 2002
+++ dyn_load.c Fri Oct 25 12:37:33 2002
$OpenBSD: patch-dyn_load_c,v 1.3 2003/10/15 12:58:11 todd Exp $
--- dyn_load.c.orig 2003-05-31 10:54:50.000000000 +1000
+++ dyn_load.c 2003-10-15 13:41:02.000000000 +1000
@@ -57,6 +57,7 @@
!defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
!defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \
!(defined(FREEBSD) && defined(__ELF__)) && \
+ !(defined(OPENBSD) && defined(__ELF__)) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD)
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
!defined(DARWIN)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
@@ -81,9 +82,9 @@
@@ -82,9 +83,9 @@
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
@ -20,7 +20,7 @@ $OpenBSD: patch-dyn_load_c,v 1.2 2002/10/26 13:25:26 todd Exp $
# include <link.h>
#endif
@@ -265,6 +266,7 @@ void GC_register_dynamic_libraries()
@@ -266,6 +267,7 @@ void GC_register_dynamic_libraries()
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
@ -28,7 +28,7 @@ $OpenBSD: patch-dyn_load_c,v 1.2 2002/10/26 13:25:26 todd Exp $
(defined(NETBSD) && defined(__ELF__)) || defined(HURD)
@@ -533,7 +535,7 @@ GC_bool GC_register_dynamic_libraries_dl
@@ -444,7 +446,7 @@ GC_bool GC_register_main_static_data()
/* This doesn't necessarily work in all cases, e.g. with preloaded
* dynamic libraries. */

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
--- include/private/gcconfig.h.orig Tue Aug 6 14:49:22 2002
+++ include/private/gcconfig.h Wed Apr 23 16:38:27 2003
@@ -51,6 +51,10 @@
$OpenBSD: patch-include_private_gcconfig_h,v 1.7 2003/10/15 12:58:11 todd Exp $
--- include/private/gcconfig.h.orig 2003-06-17 12:01:23.000000000 +1000
+++ include/private/gcconfig.h 2003-10-15 13:40:09.000000000 +1000
@@ -59,6 +59,10 @@
# define FREEBSD
# endif
@ -12,7 +12,7 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
/* Determine the machine type: */
# if defined(__XSCALE__)
# define ARM32
@@ -89,7 +93,7 @@
@@ -97,7 +101,7 @@
# define ARM32
# define mach_type_known
# endif
@ -21,7 +21,7 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
# define VAX
# ifdef ultrix
# define ULTRIX
@@ -270,6 +274,11 @@
@@ -278,6 +282,11 @@
# define POWERPC
# define mach_type_known
# endif
@ -31,9 +31,9 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
+# define mach_type_known
+# endif
# if defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
# define MACOSX
# define DARWIN
# define I386
@@ -726,6 +735,14 @@
@@ -761,6 +770,14 @@
# define DATASTART GC_data_start
# define DYNAMIC_LOADING
# endif
@ -48,7 +48,7 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
# ifdef NOSYS
# define ALIGNMENT 4
# define OS_TYPE "NOSYS"
@@ -861,9 +878,9 @@
@@ -897,9 +914,9 @@
# endif
# ifdef OPENBSD
# define OS_TYPE "OPENBSD"
@ -61,7 +61,26 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
# endif
# ifdef NETBSD
# define OS_TYPE "NETBSD"
@@ -1380,7 +1397,7 @@
@@ -1145,6 +1162,9 @@
# endif
# ifdef OPENBSD
# define OS_TYPE "OPENBSD"
+# define HEURISTIC2
+# define DATASTART GC_data_start
+# define DYNAMIC_LOADING
# endif
# ifdef FREEBSD
# define OS_TYPE "FREEBSD"
@@ -1173,7 +1193,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[];
@@ -1435,7 +1455,7 @@
# define MACH_TYPE "ALPHA"
# define ALIGNMENT 8
# define CPP_WORDSZ 64
@ -70,11 +89,10 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
# define USE_GENERIC_PUSH_REGS
/* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */
/* fp registers in some cases when the target is a 21264. The assembly */
@@ -1393,6 +1410,14 @@
# define DATASTART GC_data_start
@@ -1449,6 +1469,14 @@
# define ELFCLASS32 32
# define ELFCLASS64 64
+# define ELF_CLASS ELFCLASS64
# define ELF_CLASS ELFCLASS64
+# define CPP_WORDSZ 64
+# define DYNAMIC_LOADING
+# endif
@ -82,6 +100,7 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.6 2003/04/23 20:56:08 todd Exp $
+# define OS_TYPE "OPENBSD"
+# define HEURISTIC2
+# define DATASTART GC_data_start
# define ELF_CLASS ELFCLASS64
+# define ELF_CLASS ELFCLASS64
# define DYNAMIC_LOADING
# endif
# ifdef OPENBSD

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-mach_dep_c,v 1.2 2002/10/26 13:25:26 todd Exp $
--- mach_dep.c.orig Wed Jul 31 17:12:03 2002
+++ mach_dep.c Fri Oct 25 11:53:09 2002
@@ -446,7 +446,7 @@ ptr_t cold_gc_frame;
$OpenBSD: patch-mach_dep_c,v 1.3 2003/10/15 12:58:11 todd Exp $
--- mach_dep.c.orig 2003-06-06 04:50:30.000000000 +1000
+++ mach_dep.c 2003-10-15 13:42:32.000000000 +1000
@@ -456,7 +456,7 @@ ptr_t cold_gc_frame;
/* the stack. Return sp. */
# ifdef SPARC
asm(" .seg \"text\"");
-# ifdef SVR4
+# if defined(SVR4) || defined(__ELF__)
-# if defined(SVR4) || defined(NETBSD)
+# if defined(SVR4) || defined(NETBSD) || defined(__ELF__)
asm(" .globl GC_save_regs_in_stack");
asm("GC_save_regs_in_stack:");
asm(" .type GC_save_regs_in_stack,#function");

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-misc_c,v 1.3 2003/01/17 21:00:45 drahn Exp $
--- misc.c.orig Mon Aug 5 19:13:44 2002
+++ misc.c Thu Jan 9 16:12:10 2003
@@ -591,7 +591,10 @@ void GC_init_inner()
$OpenBSD: patch-misc_c,v 1.4 2003/10/15 12:58:11 todd Exp $
--- misc.c.orig 2003-05-30 01:50:10.000000000 +1000
+++ misc.c 2003-10-15 13:40:09.000000000 +1000
@@ -635,7 +635,10 @@ void GC_init_inner()
# if defined(SEARCH_FOR_DATA_START)
GC_init_linux_data_start();
# endif

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-os_dep_c,v 1.3 2003/01/17 21:00:45 drahn Exp $
--- os_dep.c.orig Wed Jul 31 17:13:18 2002
+++ os_dep.c Thu Jan 9 16:14:45 2003
@@ -233,6 +233,18 @@ static void *tiny_sbrk(ptrdiff_t increme
$OpenBSD: patch-os_dep_c,v 1.4 2003/10/15 12:58:11 todd Exp $
--- os_dep.c.orig 2003-06-14 05:11:00.000000000 +1000
+++ os_dep.c 2003-10-15 13:40:09.000000000 +1000
@@ -391,6 +391,18 @@ static void *tiny_sbrk(ptrdiff_t increme
}
#endif

View File

@ -1,3 +1,3 @@
@comment $OpenBSD: PFRAG.shared,v 1.1 2002/08/27 15:41:30 todd Exp $
lib/libgc.so.1.1
@comment $OpenBSD: PFRAG.shared,v 1.2 2003/10/15 12:58:11 todd Exp $
lib/libgc.so.1.2
DYNLIBDIR(%D/lib)

View File

@ -1,15 +1,71 @@
@comment $OpenBSD: PLIST,v 1.5 2002/09/16 22:00:13 todd Exp $
@comment $OpenBSD: PLIST,v 1.6 2003/10/15 12:58:11 todd Exp $
include/gc.h
include/gc_cpp.h
include/gc/gc.h
include/gc/gc_alloc.h
include/gc/gc_allocator.h
include/gc/gc_amiga_redirects.h
include/gc/gc_backptr.h
include/gc/gc_config_macros.h
include/gc/gc_cpp.h
include/gc/gc_gcj.h
include/gc/gc_inl.h
include/gc/gc_inline.h
include/gc/gc_local_alloc.h
include/gc/gc_mark.h
include/gc/gc_pthread_redirects.h
include/gc/gc_typed.h
include/gc/leak_detector.h
include/gc/new_gc_alloc.h
include/gc/weakpointer.h
include/gc_backptr.h
include/gc_config_macros.h
include/gc_cpp.h
include/gc_gcj.h
include/gc_local_alloc.h
include/gc_mark.h
include/gc_pthread_redirects.h
include/gc_typed.h
include/leak_detector.h
include/private/gc_hdrs.h
include/private/gc_locks.h
include/private/gc_pmark.h
include/private/gc_priv.h
include/private/gcconfig.h
include/private/gc_locks.h
include/private/gc_hdrs.h
lib/libgc.a
lib/libgc.la
man/man3/gc.3
share/gc/README
share/gc/README.DGUX386
share/gc/README.Mac
share/gc/README.MacOSX
share/gc/README.OS2
share/gc/README.amiga
share/gc/README.arm.cross
share/gc/README.autoconf
share/gc/README.changes
share/gc/README.contributors
share/gc/README.cords
share/gc/README.darwin
share/gc/README.dj
share/gc/README.environment
share/gc/README.ews4800
share/gc/README.hp
share/gc/README.linux
share/gc/README.macros
share/gc/README.rs6000
share/gc/README.sgi
share/gc/README.solaris2
share/gc/README.uts
share/gc/README.win32
share/gc/barrett_diagram
share/gc/debugging.html
share/gc/gc.man
share/gc/gcdescr.html
share/gc/gcinterface.html
share/gc/leak.html
share/gc/scale.html
share/gc/tree.html
%%SHARED%%
@dirrm share/gc
@dirrm include/private
@dirrm include/gc