head 1.1; access; symbols pkgsrc-2026Q2:1.1.0.36 pkgsrc-2026Q2-base:1.1 pkgsrc-2026Q1:1.1.0.34 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.32 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.30 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.28 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.26 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.24 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.22 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.20 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.18 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.16 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.14 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.12 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.10 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.8 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.6 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.4 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.2 pkgsrc-2022Q1-base:1.1; locks; strict; comment @# @; 1.1 date 2022.03.07.20.34.16; author wiz; state Exp; branches; next ; commitid t9lWbXYPIVaKekvD; desc @@ 1.1 log @lang/guile18: import guile18-1.8.8nb11 Re-import of lang/guile to avoid having an ancient version as the default. GUILE, GNU's Ubiquitous Intelligent Language for Extension, is a library that implements the Scheme language plus various convenient facilities. It's designed so that you can link it into an application or utility to make it extensible. Our plan is to link this library into all GNU programs that call for extensibility. This is an extremely old version of guile. It is installed into guile/1.8 within PREFIX. @ text @$NetBSD: patch-ae,v 1.18 2016/11/10 09:26:21 maya Exp $ --- libguile/gc_os_dep.c.orig 2010-12-13 17:25:01.000000000 +0000 +++ libguile/gc_os_dep.c @@@@ -132,7 +132,7 @@@@ typedef int GC_bool; # define NETBSD # define mach_type_known # endif -# if defined(__NetBSD__) && defined(__sparc__) +# if defined(__NetBSD__) && (defined(__sparc__) || defined(__sparc_v9__)) # define SPARC # define NETBSD # define mach_type_known @@@@ -304,6 +304,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 @@@@ -444,12 +449,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. @@@@ -716,8 +721,6 @@@@ scm_get_stack_base () /* base is a property of the executable, so this should not break */ /* old executables. */ /* HEURISTIC2 probably works, but this appears to be preferable. */ -# include -# define STACKBOTTOM ((ptr_t) USRSTACK) # ifndef USE_MMAP # define USE_MMAP # endif @@@@ -727,10 +730,18 @@@@ scm_get_stack_base () # define HEAP_START DATAEND # endif # define PROC_VDB -/* HEURISTIC1 reportedly no longer works under 2.7. Thus we */ -/* switched to HEURISTIC2, eventhough it creates some debugging */ -/* issues. */ -# define HEURISTIC2 +/* HEURISTIC1 reportedly no longer works under 2.7. */ +/* HEURISTIC2 probably works, but this appears to be preferable. */ +/* Apparently USRSTACK is defined to be USERLIMIT, but in some */ +/* installations that's undefined. We work around this with a */ +/* gross hack: */ +# include +# ifdef USERLIMIT + /* This should work everywhere, but doesn't. */ +# define STACKBOTTOM USRSTACK +# else +# define HEURISTIC2 +# endif # include # define GETPAGESIZE() sysconf(_SC_PAGESIZE) /* getpagesize() appeared to be missing from at least one */ @@@@ -1008,6 +1019,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 @