Index: head/devel/boehm-gc/Makefile =================================================================== --- head/devel/boehm-gc/Makefile +++ head/devel/boehm-gc/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= gc -PORTVERSION= 7.4.4 +PORTVERSION= 7.6.0 CATEGORIES= devel MASTER_SITES= http://www.hboehm.info/gc/gc_source/ PKGNAMEPREFIX= boehm- Index: head/devel/boehm-gc/distinfo =================================================================== --- head/devel/boehm-gc/distinfo +++ head/devel/boehm-gc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1465514922 -SHA256 (gc-7.4.4.tar.gz) = e5ca9b628b765076b6ab26f882af3a1a29cde786341e08b9f366604f74e4db84 -SIZE (gc-7.4.4.tar.gz) = 1103245 +TIMESTAMP = 1470671691 +SHA256 (gc-7.6.0.tar.gz) = a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90 +SIZE (gc-7.6.0.tar.gz) = 1111751 Index: head/devel/boehm-gc/files/patch-include_private_gc__priv.h =================================================================== --- head/devel/boehm-gc/files/patch-include_private_gc__priv.h +++ head/devel/boehm-gc/files/patch-include_private_gc__priv.h @@ -1,13 +1,11 @@ ---- include/private/gc_priv.h.orig 2014-06-03 06:08:02 UTC +--- include/private/gc_priv.h.orig 2016-08-08 20:30:31 UTC +++ include/private/gc_priv.h -@@ -2461,7 +2461,9 @@ GC_INNER ptr_t GC_store_debug_info(ptr_t - #endif - - #if defined(FREEBSD) && (defined(I386) || defined(X86_64) \ -- || defined(powerpc) || defined(__powerpc__)) -+ || defined(powerpc) || defined(__powerpc__) \ -+ || defined(__aarch64__)) -+ - # include +@@ -2500,6 +2500,8 @@ GC_INNER ptr_t GC_store_debug_info(ptr_t # if !defined(PCR) # define NEED_FIND_LIMIT + # endif ++ GC_INNER ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t); ++# define DATASTART_IS_FUNC + #endif /* DATASTART_USES_BSDGETDATASTART */ + + #if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__) \ Index: head/devel/boehm-gc/files/patch-include_private_gcconfig.h =================================================================== --- head/devel/boehm-gc/files/patch-include_private_gcconfig.h +++ head/devel/boehm-gc/files/patch-include_private_gcconfig.h @@ -1,79 +1,14 @@ ---- include/private/gcconfig.h.orig 2014-06-03 06:08:02 UTC +--- include/private/gcconfig.h.orig 2016-08-08 20:30:40 UTC +++ include/private/gcconfig.h -@@ -97,7 +97,7 @@ - # endif - # if defined(__aarch64__) - # define AARCH64 --# if !defined(LINUX) -+# if !defined(LINUX) && !defined(FREEBSD) - # define NOSYS - # define mach_type_known - # endif -@@ -169,7 +169,7 @@ - # define EWS4800 - # endif - # if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD) \ -- && !defined(OPENBSD) -+ && !defined(OPENBSD) && !defined(FREEBSD) - # if defined(ultrix) || defined(__ultrix) - # define ULTRIX - # else -@@ -402,6 +402,10 @@ - # define I386 - # define mach_type_known - # endif -+# if defined(FREEBSD) && defined(__aarch64__) -+# define AARCH64 -+# define mach_type_known -+# endif - # if defined(FREEBSD) && (defined(__amd64__) || defined(__x86_64__)) - # define X86_64 - # define mach_type_known -@@ -1647,6 +1651,26 @@ - # define DATAEND ((ptr_t)(&_end)) - # define DYNAMIC_LOADING - # endif -+# ifdef FREEBSD -+# define OS_TYPE "FREEBSD" -+# define ALIGNMENT 4 -+# 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)) -+ ptr_t GC_find_limit(ptr_t, GC_bool); -+# define DATAEND (GC_find_limit (DATASTART, TRUE)) -+# define DATAEND_IS_FUNC -+# define DATASTART2 ((ptr_t)(&edata)) -+# define DATAEND2 ((ptr_t)(&end)) -+# endif - # if defined(NONSTOP) - # define CPP_WORDSZ 32 - # define OS_TYPE "NONSTOP" -@@ -1998,6 +2022,20 @@ - extern char _end[]; - # define DATAEND ((ptr_t)(&_end)) - # endif -+# ifdef FREEBSD -+# define OS_TYPE "FREEBSD" -+# ifndef GC_FREEBSD_THREADS -+# define MPROTECT_VDB -+# endif -+# define FREEBSD_STACKBOTTOM -+# ifdef __ELF__ -+# define DYNAMIC_LOADING -+# endif -+ extern char etext[]; -+ ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t); -+# define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext) -+# define DATASTART_IS_FUNC -+# endif - # ifdef NOSYS - /* __data_start is usually defined in the target linker script. */ - extern int __data_start[]; +@@ -2745,11 +2745,6 @@ + # define SUNOS5SIGS + #endif + +-#ifdef DATASTART_USES_BSDGETDATASTART +- GC_INNER ptr_t GC_FreeBSDGetDataStart(size_t, ptr_t); +-# define DATASTART_IS_FUNC +-#endif +- + #if !defined(GC_EXPLICIT_SIGNALS_UNBLOCK) && defined(SUNOS5SIGS) \ + && !defined(GC_NO_PTHREAD_SIGMASK) + # define GC_EXPLICIT_SIGNALS_UNBLOCK Index: head/devel/boehm-gc/files/patch-os__dep.c =================================================================== --- head/devel/boehm-gc/files/patch-os__dep.c +++ head/devel/boehm-gc/files/patch-os__dep.c @@ -1,21 +0,0 @@ ---- os_dep.c.orig 2014-06-03 06:08:02 UTC -+++ os_dep.c -@@ -1869,7 +1869,8 @@ void GC_register_data_segments(void) - # endif - - # if defined(FREEBSD) && !defined(PCR) && (defined(I386) || defined(X86_64) \ -- || defined(powerpc) || defined(__powerpc__)) -+ || defined(powerpc) || defined(__powerpc__) \ -+ || defined(__aarch64__)) - - /* Its unclear whether this should be identical to the above, or */ - /* whether it should apply to non-X86 architectures. */ -@@ -3094,6 +3095,8 @@ GC_API GC_push_other_roots_proc GC_CALL - # include - # define CODE_OK (si -> si_code == EXC_DSI \ - || si -> si_code == SEGV_ACCERR) -+# elif defined(AARCH64) -+# define CODE_OK (si -> si_code == SEGV_ACCERR) - # else - # define CODE_OK (si -> si_code == BUS_PAGE_FAULT \ - || si -> si_code == SEGV_ACCERR)