FreeBSD New ports collection for boehm-gc v7.2d
authorVitaly Magerya <vmagerya@gmail.com>
Sun, 21 Jul 2013 12:53:31 +0000 (16:53 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 25 Aug 2013 18:17:35 +0000 (22:17 +0400)
(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

dyn_load.c
include/private/gc_priv.h
include/private/gcconfig.h

index 76a12ab..e26a6bb 100644 (file)
@@ -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
index a2795ff..d207ab0 100644 (file)
@@ -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 */
index 8a86864..fe90da3 100644 (file)
 #    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) \
 #   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
 #    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
 #    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
 #     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"
 #     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[];