i386 or AMD64?

Ville-Pertti Keinonen will+freebsd-amd64 at will.iki.fi
Wed Sep 29 02:02:27 PDT 2004


Ceri Davies wrote:

>None of the JVMs or Scheme ports work on amd64, which is a shame.  Other
>than that, everything I use is fine (KDE is definitely fine).
>  
>
Of the Scheme ports, guile works, and if you want a more extensive 
Scheme environment, PLT Scheme is fairly easy to fix.  Attached is a 
patch (against version 208) that should get it to work if you're willing 
to build manually.  It fails to build some extensions, though, there's 
still an -fPIC missing somewhere, but you still end up with a perfectly 
usable environment.

-------------- next part --------------
diff -ur orig/plt/src/mzscheme/gc/include/private/gcconfig.h plt/src/mzscheme/gc/include/private/gcconfig.h
--- orig/plt/src/mzscheme/gc/include/private/gcconfig.h	Thu Jul 22 11:21:22 2004
+++ plt/src/mzscheme/gc/include/private/gcconfig.h	Tue Aug 17 13:46:49 2004
@@ -307,6 +307,10 @@
 #   define I386
 #   define mach_type_known
 # endif
+# if defined(FREEBSD) && (defined(amd64) || defined(__amd64__))
+#   define X86_64
+#   define mach_type_known
+# endif
 # if defined(__NetBSD__) && (defined(i386) || defined(__i386__))
 #   define I386
 #   define mach_type_known
@@ -1873,6 +1877,13 @@
 #	define HEURISTIC2
 	extern char etext[];
 #	define SEARCH_FOR_DATA_START
+#   endif
+#   ifdef FREEBSD
+#       define OS_TYPE "FREEBSD"
+#       define DYNAMIC_LOADING
+#       define HEURISTIC2
+	extern char etext[];
+#       define SEARCH_FOR_DATA_START
 #   endif
 # endif
 
diff -ur orig/plt/src/mzscheme/sconfig.h plt/src/mzscheme/sconfig.h
--- orig/plt/src/mzscheme/sconfig.h	Thu Jul 22 11:21:19 2004
+++ plt/src/mzscheme/sconfig.h	Tue Aug 17 13:54:03 2004
@@ -323,6 +323,37 @@
 
 #endif
 
+#if defined(__FreeBSD__) && (defined(amd64) || defined(__amd64__))
+
+# define SCHEME_PLATFORM_LIBRARY_SUBPATH "amd64-freebsd"
+
+# define SIXTY_FOUR_BIT_INTEGERS
+
+# include "uconfig.h"
+# undef HAS_STANDARD_IOB
+
+# define HAS_BSD_IOB
+
+# define STACK_GROWS_DOWN
+
+# define USE_UNDERSCORE_SETJMP
+
+# define USE_IEEE_FP_PREDS
+# undef FREEBSD_CONTROL_387
+# define POW_HANDLES_INF_CORRECTLY
+
+# define USE_DYNAMIC_FDSET_SIZE
+
+# define SIGSET_IS_SIGNAL
+
+# define USE_TM_GMTOFF_FIELD
+
+# undef REGISTER_POOR_MACHINE
+
+# define FLAGS_ALREADY_SET
+
+#endif
+
   /************** SGI/IRIX with SGI cc ****************/
 
 #if  (defined(mips) || defined(__mips)) \


More information about the freebsd-amd64 mailing list