From owner-svn-ports-all@freebsd.org Wed Jul 8 20:57:19 2015 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8612997858; Wed, 8 Jul 2015 20:57:19 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A57641145; Wed, 8 Jul 2015 20:57:19 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.14.9/8.14.9) with ESMTP id t68KvJp7041354; Wed, 8 Jul 2015 20:57:19 GMT (envelope-from brd@FreeBSD.org) Received: (from brd@localhost) by repo.freebsd.org (8.14.9/8.14.9/Submit) id t68KvHhD041349; Wed, 8 Jul 2015 20:57:17 GMT (envelope-from brd@FreeBSD.org) Message-Id: <201507082057.t68KvHhD041349@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brd set sender to brd@FreeBSD.org using -f From: Brad Davis Date: Wed, 8 Jul 2015 20:57:17 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r391600 - in head/devel/boehm-gc: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 20:57:19 -0000 Author: brd Date: Wed Jul 8 20:57:16 2015 New Revision: 391600 URL: https://svnweb.freebsd.org/changeset/ports/391600 Log: Patch devel/boehm-gc to build on AArch64. PR: 201183 Submitted by: Carlos Jacobo Puga Medina , andrew, sbruno Approved by: bdrewery (mentor) Added: head/devel/boehm-gc/files/patch-include_gc__config__macros.h (contents, props changed) head/devel/boehm-gc/files/patch-include_private_gc__priv.h (contents, props changed) head/devel/boehm-gc/files/patch-os__dep.c (contents, props changed) Modified: head/devel/boehm-gc/Makefile head/devel/boehm-gc/files/patch-include_private_gcconfig.h Modified: head/devel/boehm-gc/Makefile ============================================================================== --- head/devel/boehm-gc/Makefile Wed Jul 8 20:48:51 2015 (r391599) +++ head/devel/boehm-gc/Makefile Wed Jul 8 20:57:16 2015 (r391600) @@ -3,7 +3,7 @@ PORTNAME= gc PORTVERSION= 7.4.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel MASTER_SITES= http://www.hboehm.info/gc/gc_source/ PKGNAMEPREFIX= boehm- Added: head/devel/boehm-gc/files/patch-include_gc__config__macros.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boehm-gc/files/patch-include_gc__config__macros.h Wed Jul 8 20:57:16 2015 (r391600) @@ -0,0 +1,25 @@ +--- include/gc_config_macros.h.orig 2014-06-03 06:08:02 UTC ++++ include/gc_config_macros.h +@@ -242,13 +242,17 @@ + #ifndef GC_ATTR_ALLOC_SIZE + /* 'alloc_size' attribute improves __builtin_object_size correctness. */ + /* Only single-argument form of 'alloc_size' attribute is used. */ +-# if defined(__GNUC__) && (__GNUC__ > 4 \ +- || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3 && !defined(__ICC)) \ +- || __clang_major__ > 3 \ +- || (__clang_major__ == 3 && __clang_minor__ >= 2)) ++# ifdef __clang__ ++# if __has_attribute(__alloc_size__) ++# define GC_ATTR_ALLOC_SIZE(argnum) __attribute__((__alloc_size__(argnum))) ++# else ++# define GC_ATTR_ALLOC_SIZE(argnum) /* empty */ ++# endif ++# elif __GNUC__ > 4 \ ++ || (__GNUC__ == 4 && __GNUC_MINOR__ >=3 && !defined(__ICC)) + # define GC_ATTR_ALLOC_SIZE(argnum) __attribute__((__alloc_size__(argnum))) + # else +-# define GC_ATTR_ALLOC_SIZE(argnum) ++# define GC_ATTR_ALLOC_SIZE(argnum) /* empty */ + # endif + #endif + Added: head/devel/boehm-gc/files/patch-include_private_gc__priv.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boehm-gc/files/patch-include_private_gc__priv.h Wed Jul 8 20:57:16 2015 (r391600) @@ -0,0 +1,13 @@ +--- include/private/gc_priv.h.orig 2014-06-03 06:08:02 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 + # if !defined(PCR) + # define NEED_FIND_LIMIT Modified: head/devel/boehm-gc/files/patch-include_private_gcconfig.h ============================================================================== --- head/devel/boehm-gc/files/patch-include_private_gcconfig.h Wed Jul 8 20:48:51 2015 (r391599) +++ head/devel/boehm-gc/files/patch-include_private_gcconfig.h Wed Jul 8 20:57:16 2015 (r391600) @@ -1,5 +1,14 @@ ---- ./include/private/gcconfig.h.orig -+++ ./include/private/gcconfig.h +--- include/private/gcconfig.h.orig 2014-06-03 06:08:02 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 @@ -9,7 +18,18 @@ # if defined(ultrix) || defined(__ultrix) # define ULTRIX # else -@@ -1647,6 +1647,26 @@ +@@ -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 @@ -36,3 +56,24 @@ # 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[]; Added: head/devel/boehm-gc/files/patch-os__dep.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/boehm-gc/files/patch-os__dep.c Wed Jul 8 20:57:16 2015 (r391600) @@ -0,0 +1,21 @@ +--- 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)