- Update to 6.3.
- Get to work on sparc. [1] - Fix warnings from gc_cpp.h. [2] Submitted by: Hannes Mehnert <hannes@mehnert.org> [1], des [2]
This commit is contained in:
parent
d3e93af03f
commit
a4a7111fd8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=121133
8 changed files with 135 additions and 39 deletions
|
@ -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/}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 SIG_SUSPEND SIGUSR1
|
||||
+# define SIG_THR_RESTART SIGUSR2
|
||||
+# define FREEBSD_STACKBOTTOM
|
||||
+# ifdef __ELF__
|
||||
+# define DYNAMIC_LOADING
|
||||
+# endif
|
||||
+ extern char etext[];
|
||||
+ 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
|
||||
# endif
|
||||
|
||||
+# endif
|
||||
+# ifdef FREEBSD
|
||||
+# define OS_TYPE "FREEBSD"
|
||||
# ifdef __ELF__
|
||||
# define DYNAMIC_LOADING
|
||||
# endif
|
||||
|
|
20
devel/boehm-gc/files/patch-include_gc_cpp.h
Normal file
20
devel/boehm-gc/files/patch-include_gc_cpp.h
Normal file
|
@ -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 ) {
|
11
devel/boehm-gc/files/patch-mach_dep.c
Normal file
11
devel/boehm-gc/files/patch-mach_dep.c
Normal file
|
@ -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");
|
33
devel/boehm-gc/files/patch-os_dep.c
Normal file
33
devel/boehm-gc/files/patch-os_dep.c
Normal file
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue