diff options
Diffstat (limited to 'lang/guile/patches/patch-ae')
-rw-r--r-- | lang/guile/patches/patch-ae | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/lang/guile/patches/patch-ae b/lang/guile/patches/patch-ae index 1d96f6d9060..7186b5f627a 100644 --- a/lang/guile/patches/patch-ae +++ b/lang/guile/patches/patch-ae @@ -1,6 +1,6 @@ -$NetBSD: patch-ae,v 1.8 2003/12/14 17:14:40 wiz Exp $ +$NetBSD: patch-ae,v 1.9 2004/03/16 00:46:39 dmcmahill Exp $ ---- libguile/gc_os_dep.c.orig 2003-04-16 22:16:21.000000000 +0200 +--- libguile/gc_os_dep.c.orig Wed Apr 16 20:16:21 2003 +++ libguile/gc_os_dep.c @@ -98,12 +98,27 @@ typedef int GC_bool; # define NETBSD @@ -41,3 +41,53 @@ $NetBSD: patch-ae,v 1.8 2003/12/14 17:14:40 wiz Exp $ # define OSF1 /* a.k.a Digital Unix */ # endif # define mach_type_known +@@ -279,6 +294,11 @@ typedef int GC_bool; + # define NETBSD + # define mach_type_known + # endif ++# if defined(__NetBSD__) && defined(__x86_64__) ++# define X86_64 ++# define NETBSD ++# define mach_type_known ++# endif + # if defined(bsdi) && defined(i386) + # define I386 + # define BSDI +@@ -412,12 +432,12 @@ typedef int GC_bool; + /* + * For each architecture and OS, the following need to be defined: + * +- * CPP_WORD_SZ is a simple integer constant representing the word size. ++ * CPP_WORDSZ is a simple integer constant representing the word size. + * in bits. We assume byte addressibility, where a byte has 8 bits. +- * We also assume CPP_WORD_SZ is either 32 or 64. ++ * We also assume CPP_WORDSZ is either 32 or 64. + * (We care about the length of pointers, not hardware + * bus widths. Thus a 64 bit processor with a C compiler that uses +- * 32 bit pointers should use CPP_WORD_SZ of 32, not 64. Default is 32.) ++ * 32 bit pointers should use CPP_WORDSZ of 32, not 64. Default is 32.) + * + * MACH_TYPE is a string representation of the machine type. + * OS_TYPE is analogous for the OS. +@@ -961,6 +981,21 @@ typedef int GC_bool; + # define OS_TYPE "GNU" + # endif + # endif ++ ++# ifdef X86_64 ++# define MACH_TYPE "X86_64" ++# define ALIGNMENT 8 ++# define ALIGN_DOUBLE ++# define CPP_WORDSZ 64 ++# ifdef NETBSD ++# define OS_TYPE "NETBSD" ++# endif ++# if defined(NETBSD) ++# define HEURISTIC2 ++ extern char etext; ++# define DATASTART ((ptr_t)(&etext)) ++# endif ++# endif + + # ifdef NS32K + # define MACH_TYPE "NS32K" |