unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Greg Troxel <gdt@ir.bbn.com>
Subject: more machine support NetBSD - including x86-64
Date: Mon, 15 Nov 2004 20:34:50 -0500	[thread overview]
Message-ID: <20041116013450.49E3C2069@fnord.ir.bbn.com> (raw)

I am updating the pkgsrc entry for NetBSD to 1.6.5 from 1.6.4.

This patch is applied during NetBSD builds, but it belongs in the
guile sources.  It adds machine/arch detection for NetBSD on various
arches, and x86-64 support.

The detection of OSF1 as an alpha that is not linux or netbsd seems
awkward, but I don't know of a third unless guile runs on VMS.

$NetBSD: patch-ae,v 1.9 2004/03/16 00:46:39 dmcmahill Exp $

--- libguile/gc_os_dep.c.orig	2004-06-15 18:55:31.000000000 -0400
+++ libguile/gc_os_dep.c
@@ -112,12 +112,27 @@ typedef int GC_bool;
 #    define NETBSD
 #    define mach_type_known
 # endif
-# if defined(__NetBSD__) && defined(m68k)
+# if defined(__NetBSD__) && defined(__powerpc__)
+#    define POWERPC
+#    define NETBSD
+#    define mach_type_known
+# endif
+# if defined(__NetBSD__) && (defined(m68k) || defined(__m68k__))
 #    define M68K
 #    define NETBSD
 #    define mach_type_known
 # endif
-# if defined(__NetBSD__) && defined(arm32)
+# if defined(__NetBSD__) && (defined(__sparc__) || defined(__sparc_v9__))
+#    define SPARC
+#    define NETBSD
+#    define mach_type_known
+# endif
+# if defined(__NetBSD__) && defined(__alpha__)
+#    define ALPHA
+#    define NETBSD
+#    define mach_type_known
+# endif
+# if defined(__NetBSD__) && (defined(arm32) || defined(__arm__))
 #    define ARM32
 #    define NETBSD
 #    define mach_type_known
@@ -241,7 +256,7 @@ typedef int GC_bool;
 # endif
 # if defined(__alpha) || defined(__alpha__)
 #   define ALPHA
-#   if !defined(LINUX)
+#   if !defined(LINUX) && !defined(NETBSD)
 #     define OSF1	/* a.k.a Digital Unix */
 #   endif
 #   define mach_type_known
@@ -294,6 +309,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
@@ -433,12 +453,12 @@ scm_get_stack_base ()
 /*
  * 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.
@@ -983,6 +1003,21 @@ scm_get_stack_base ()
 #    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"
 #   define ALIGNMENT 4


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


             reply	other threads:[~2004-11-16  1:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-16  1:34 Greg Troxel [this message]
2004-11-27 19:51 ` more machine support NetBSD - including x86-64 Kevin Ryde
2004-11-29 18:33   ` Greg Troxel
2004-11-29 21:11     ` Kevin Ryde
2004-11-30 13:57       ` Greg Troxel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041116013450.49E3C2069@fnord.ir.bbn.com \
    --to=gdt@ir.bbn.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).