diff options
author | Vitaly Magerya <vmagerya@gmail.com> | 2013-07-21 16:53:31 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2013-08-25 22:17:35 +0400 |
commit | 8a90c5e7844c74344917043d6db7ba9be579e383 (patch) | |
tree | 4a030ed5b0aaefc6b665ffa00ea5c903c15ca64e | |
parent | 97d71091e67380b6812dd8673c337cbf20410996 (diff) | |
download | bdwgc-8a90c5e7844c74344917043d6db7ba9be579e383.tar.gz |
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
-rw-r--r-- | dyn_load.c | 2 | ||||
-rw-r--r-- | include/private/gc_priv.h | 5 | ||||
-rw-r--r-- | include/private/gcconfig.h | 43 |
3 files changed, 22 insertions, 28 deletions
@@ -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[]; |