From: Vitaly Magerya Date: Sun, 21 Jul 2013 12:53:31 +0000 (+0400) Subject: FreeBSD New ports collection for boehm-gc v7.2d X-Git-Tag: gc7_4_0~23^2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8a90c5e7844c74344917043d6db7ba9be579e383;p=gc FreeBSD New ports collection for boehm-gc v7.2d (Apply commit 8666ba2 from 'release-7_2' branch.) * include/private/gc_priv.h (RA): Define to "GC_RETURN_ADDR_PARENT," if GC_RETURN_ADDR_PARENT defined. * include/private/gcconfig.h (FREEBSD): Group rules. Conflicts: Makefile.in configure dbg_mlc.c include/private/gc_priv.h include/private/gcconfig.h os_dep.c --- diff --git a/dyn_load.c b/dyn_load.c index 76a12abb..e26a6bbc 100644 --- a/dyn_load.c +++ b/dyn_load.c @@ -118,7 +118,7 @@ STATIC GC_has_static_roots_func GC_has_static_roots = 0; /* Newer versions of GNU/Linux define this macro. We * define it similarly for any ELF systems that don't. */ # ifndef ElfW -# if defined(FREEBSD) +# if defined(FREEBSD) || defined(__FreeBSD__) # if __ELF_WORD_SIZE == 32 # define ElfW(type) Elf32_##type # else diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index a2795ff2..d207ab05 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -1807,10 +1807,11 @@ GC_INNER ptr_t GC_allocobj(size_t sz, int kind); /* head. Sz is in granules. */ #ifdef GC_ADD_CALLER +# define GC_DBG_RA GC_RETURN_ADDR, # ifdef GC_RETURN_ADDR_PARENT -# define GC_DBG_RA GC_RETURN_ADDR_PARENT, +# define RA GC_RETURN_ADDR_PARENT, # else -# define GC_DBG_RA GC_RETURN_ADDR, +# define RA GC_RETURN_ADDR, # endif #else # define GC_DBG_RA /* empty */ diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index 8a86864a..fe90da39 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -309,10 +309,6 @@ # define M32R # define mach_type_known # endif -# if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__)) -# define POWERPC -# define mach_type_known -# endif # if defined(__alpha) || defined(__alpha__) # define ALPHA # if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) \ @@ -381,14 +377,6 @@ # define OPENBSD # define mach_type_known # endif -# if defined(FREEBSD) && (defined(i386) || defined(__i386__)) -# define I386 -# define mach_type_known -# endif -# if defined(FREEBSD) && defined(__x86_64__) -# define X86_64 -# define mach_type_known -# endif # if defined(__NetBSD__) && (defined(i386) || defined(__i386__)) # define I386 # define mach_type_known @@ -397,11 +385,15 @@ # define X86_64 # define mach_type_known # endif -# if defined(__FreeBSD__) && defined(__amd64__) +# if defined(FREEBSD) && (defined(i386) || defined(__i386__)) +# define I386 +# define mach_type_known +# endif +# if defined(FREEBSD) && defined(__amd64__) # define X86_64 # define mach_type_known # endif -# if defined(__FreeBSD__) && defined(__ia64__) +# if defined(FREEBSD) && defined(__ia64__) # define IA64 # define mach_type_known # endif @@ -409,7 +401,7 @@ # define SPARC # define mach_type_known # endif -# if defined(FREEBSD) && defined(__powerpc__) +# if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__)) # define POWERPC # define mach_type_known # endif @@ -2033,6 +2025,17 @@ # define OS_TYPE "MSWINCE" # define DATAEND /* not needed */ # endif +/* To the future maintainer of this diff: this is the "ifdef ARM32" section */ +# ifdef FREEBSD +# define ALIGNMENT 4 +# define OS_TYPE "FREEBSD" +# ifdef __ELF__ +# define DYNAMIC_LOADING +# endif +# define HEURISTIC2 + extern char etext[]; +# define SEARCH_FOR_DATA_START +# endif # ifdef DARWIN /* iPhone */ # define OS_TYPE "DARWIN" @@ -2070,16 +2073,6 @@ # define DATAEND ((ptr_t)(&_end)) # define DYNAMIC_LOADING # endif -# ifdef FREEBSD -# define ALIGNMENT 4 -# define OS_TYPE "FREEBSD" -# ifdef __ELF__ -# define DYNAMIC_LOADING -# endif -# define HEURISTIC2 - extern char etext[]; -# define SEARCH_FOR_DATA_START -# endif # ifdef NOSYS /* __data_start is usually defined in the target linker script. */ extern int __data_start[];