Index: head/lang/sbcl/Makefile =================================================================== --- head/lang/sbcl/Makefile (revision 178533) +++ head/lang/sbcl/Makefile (revision 178534) @@ -1,82 +1,112 @@ # New ports collection makefile for: sbcl # Date created: 2002-11-26 # Whom: des # # $FreeBSD$ # PORTNAME= sbcl -PORTVERSION= 0.9.18 +PORTVERSION= 1.0 CATEGORIES= lang lisp MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= sbcl DISTFILES= ${DISTNAME}-source${EXTRACT_SUFX} .if !defined(NOPORTDOCS) -DISTFILES+= ${DISTNAME}-html${EXTRACT_SUFX} +DISTFILES+= ${DISTNAME}-documentation-html${EXTRACT_SUFX} .endif MAINTAINER= sa2c@sa2c.net COMMENT= A Common Lisp development system derived from the CMU CL system -.undef BOOT_VERSION -# If you have a previous version of SBCL installed, you can use it -# instead of CMUCL to build the port, then deinstall it before -# installing the new version. -.if defined(WITH_SBCL) -LISP_CMD= "" -.elif defined(WITH_CMUCL) -BUILD_DEPENDS= lisp:${PORTSDIR}/lang/cmucl -LISP_CMD= "lisp -noinit -batch" -.else -BOOT_VERSION= 0.9.16 -.endif - USE_BZIP2= yes USE_GMAKE= yes EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude */CVS/* # Can currently only bootstrap using cmucl, which is i386-only -ONLY_FOR_ARCHS= i386 +ONLY_FOR_ARCHS= i386 amd64 MAN1= sbcl.1 INFO= asdf sbcl INFODIR= ${PREFIX}/${INFO_PATH} .include -.if defined(BOOT_VERSION) -BOOT_ARCH= ${ARCH:S/i386/x86/} +# If you have a previous version of SBCL installed, you can use it +# instead of the binary distribution. +.if defined(WITH_SBCL) +LISP_CMD= "" +.else +BOOT_VERSION= 0.9.16 +BOOT_ARCH= x86 BOOT_OS= ${OPSYS:L} BOOT_DISTNAME= ${PORTNAME}-${BOOT_VERSION}-${BOOT_ARCH}-${BOOT_OS} DISTFILES+= ${BOOT_DISTNAME}-binary${EXTRACT_SUFX} LISP_CMD= "${WRKDIR}/${BOOT_DISTNAME}/src/runtime/sbcl --core ${WRKDIR}/${BOOT_DISTNAME}/output/sbcl.core --disable-debugger --userinit /dev/null --sysinit /dev/null" .if ${OSVERSION} >= 500000 +.if ${ARCH} == i386 BUILD_DEPENDS+= ${LOCALBASE}/lib/compat/libc.so.4:${PORTSDIR}/misc/compat4x +.elif ${ARCH} == amd64 +BUILD_DEPENDS+= ${LOCALBASE}/lib32/compat/libc.so.4:${PORTSDIR}/misc/compat4x .endif .endif +.endif +.if defined(WITH_THREADS) && ${OSVERSION} < 500000 +BROKEN= Does not compile on 4.x with threading +.endif + +.if defined(WITH_THREADS) && ${ARCH} == amd64 +BROKEN= Does not compile on AMD64 with threading +.endif + +.if ${ARCH} == i386 +PLIST_SUB+= I386_ONLY="" +.else +PLIST_SUB+= I386_ONLY="@comment " +.endif + post-patch: @${REINPLACE_CMD} -E -e \ - 's|CFLAGS = .*|CFLAGS = ${CFLAGS} -DSBCL_HOME=\\"${PREFIX}/lib/sbcl/\\"|' \ + 's|CFLAGS = .*|CFLAGS = ${CFLAGS} -g -DSBCL_HOME=\\"${PREFIX}/lib/sbcl/\\"|' \ ${WRKSRC}/src/runtime/GNUmakefile @${FIND} ${WRKSRC} -name '*.orig' -o -name '*.bak' | ${XARGS} ${RM} +.if defined(WITH_THREADS) + @${CP} ${FILESDIR}/customize-target-features.lisp ${WRKSRC} +.endif do-build: - (cd ${WRKSRC} && ${SETENV} INSTALL_ROOT=${PREFIX} \ + @(cd ${WRKSRC} && ${SETENV} INSTALL_ROOT=${PREFIX} \ ${SH} make.sh ${LISP_CMD}) - (cd ${WRKSRC}/doc/manual && \ + @(cd ${WRKSRC}/doc/manual && \ ${GMAKE} MAKEINFO='makeinfo --no-split' info) do-install: (cd ${WRKSRC} && ${SETENV} INSTALL_ROOT=${PREFIX} \ MAN_DIR=${PREFIX}/man DOC_DIR=${DOCSDIR} \ INFO_DIR=${INFODIR} ${SH} install.sh) .if defined(NOPORTDOCS) @${RMDIR} ${DOCSDIR}/html .endif test: build (cd ${WRKSRC}/tests && ${SH} run-tests.sh) + +pre-everything:: +.if ${ARCH} == amd64 + @${ECHO_MSG} "====>" + @${ECHO_MSG} "====> WARNING: AMD64 support is experimental." + @${ECHO_MSG} "====>" +.else +.if !defined(WITH_THREADS) && ${OSVERSION} >= 600000 + @${ECHO_MSG} "====>" + @${ECHO_MSG} "====> To enable experimental threading support, define WITH_THREADS." + @${ECHO_MSG} "====>" +.elif defined(WITH_THREADS) && ${OSVERSION} < 600000 + @${ECHO_MSG} "====>" + @${ECHO_MSG} "====> WARNING: Current threading support is very unstable on FreeBSD 5.x." + @${ECHO_MSG} "====>" +.endif +.endif .include Property changes on: head/lang/sbcl/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.38 \ No newline at end of property +1.39 \ No newline at end of property Index: head/lang/sbcl/distinfo =================================================================== --- head/lang/sbcl/distinfo (revision 178533) +++ head/lang/sbcl/distinfo (revision 178534) @@ -1,9 +1,9 @@ -MD5 (sbcl-0.9.18-source.tar.bz2) = a00122024746ecb81bfff1a328bb2336 -SHA256 (sbcl-0.9.18-source.tar.bz2) = 860ad56be395f1053d9f24c592a9e40c196d504ee9d59a7bdd4379eac03ee011 -SIZE (sbcl-0.9.18-source.tar.bz2) = 2783861 -MD5 (sbcl-0.9.18-html.tar.bz2) = a082aac7c96c2456505797dc4f4e99cd -SHA256 (sbcl-0.9.18-html.tar.bz2) = ded0e68565f2f39450eb49c8d38c0915713aa87945ca74225408077c9a0da736 -SIZE (sbcl-0.9.18-html.tar.bz2) = 124987 +MD5 (sbcl-1.0-source.tar.bz2) = 52e07dcc8eef0dc45ecdc35e46d4999f +SHA256 (sbcl-1.0-source.tar.bz2) = 5d33383963ef8ae3ff1be7871aeb0df196923ab5b78513aa666214b52c2f5cfb +SIZE (sbcl-1.0-source.tar.bz2) = 2891666 +MD5 (sbcl-1.0-documentation-html.tar.bz2) = 38fcc1059516be98c76ee7b53241b386 +SHA256 (sbcl-1.0-documentation-html.tar.bz2) = 3cd3f61c129a442a78d70f50c32df94d3b29f385771ba52510c6a783f13fc167 +SIZE (sbcl-1.0-documentation-html.tar.bz2) = 126295 MD5 (sbcl-0.9.16-x86-freebsd-binary.tar.bz2) = 339df1c8d5aff512c1fa4362954443a5 SHA256 (sbcl-0.9.16-x86-freebsd-binary.tar.bz2) = 61cd97c58615370606c9f01ca2049d71b9a05a3c84f2b299fe16ddba38e7e19c SIZE (sbcl-0.9.16-x86-freebsd-binary.tar.bz2) = 7454913 Property changes on: head/lang/sbcl/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.28 \ No newline at end of property +1.29 \ No newline at end of property Index: head/lang/sbcl/files/patch-floating-point =================================================================== --- head/lang/sbcl/files/patch-floating-point (revision 178533) +++ head/lang/sbcl/files/patch-floating-point (nonexistent) @@ -1,96 +0,0 @@ -Index: src/code/float-trap.lisp -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/code/float-trap.lisp,v -retrieving revision 1.19 -diff -u -r1.19 float-trap.lisp ---- src/code/float-trap.lisp 6 Oct 2005 19:43:00 -0000 1.19 -+++ src/code/float-trap.lisp 28 Jun 2006 10:34:15 -0000 -@@ -153,10 +153,28 @@ - `(not (zerop (logand ,(dpb (float-trap-mask traps) float-traps-byte 0) - (floating-point-modes))))) - -+;;; SIGFPE code to floating-point error -+#+freebsd -+(defparameter *sigfpe-code-error-alist* -+ (list (cons sb!unix::fpe-intovf 'floating-point-overflow) -+ (cons sb!unix::fpe-intdiv 'division-by-zero) -+ (cons sb!unix::fpe-fltdiv 'division-by-zero) -+ (cons sb!unix::fpe-fltovf 'floating-point-overflow) -+ (cons sb!unix::fpe-fltund 'floating-point-underflow) -+ (cons sb!unix::fpe-fltres 'floating-point-inexact) -+ (cons sb!unix::fpe-fltinv 'floating-point-invalid-operation) -+ (cons sb!unix::fpe-fltsub 'floating-point-exception))) -+ - ;;; Signal the appropriate condition when we get a floating-point error. - (defun sigfpe-handler (signal info context) -- (declare (ignore signal info)) -+ (declare (ignore signal #!-freebsd info)) -+ #!+freebsd -+ (declare (type system-area-pointer info)) - (declare (type system-area-pointer context)) -+ #!+freebsd -+ (let ((code (sb!unix::siginfo-code info))) -+ (error (or (cdr (assoc code *sigfpe-code-error-alist*)) -+ 'floating-point-exception))) - (let* ((modes (context-floating-point-modes - (sb!alien:sap-alien context (* os-context-t)))) - (traps (logand (ldb float-exceptions-byte modes) -Index: src/code/target-signal.lisp -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/code/target-signal.lisp,v -retrieving revision 1.34 -diff -u -r1.34 target-signal.lisp ---- src/code/target-signal.lisp 10 Apr 2006 16:08:45 -0000 1.34 -+++ src/code/target-signal.lisp 28 Jun 2006 10:34:15 -0000 -@@ -163,6 +163,10 @@ - - ;;;; etc. - -+;;; extract si_code from siginfo_t -+(sb!alien:define-alien-routine ("siginfo_code" siginfo-code) sb!alien:int -+ (info system-area-pointer)) -+ - ;;; CMU CL comment: - ;;; Magically converted by the compiler into a break instruction. - (defun receive-pending-interrupt () -Index: src/runtime/interrupt.c -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v -retrieving revision 1.113 -diff -u -r1.113 interrupt.c ---- src/runtime/interrupt.c 7 Jun 2006 16:25:10 -0000 1.113 -+++ src/runtime/interrupt.c 28 Jun 2006 10:34:15 -0000 -@@ -1376,3 +1376,9 @@ - SHOW("returning from interrupt_init()"); - #endif - } -+ -+int -+siginfo_code(siginfo_t *info) -+{ -+ return info->si_code; -+} -Index: tools-for-build/grovel-headers.c -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/tools-for-build/grovel-headers.c,v -retrieving revision 1.15 -diff -u -r1.15 grovel-headers.c ---- tools-for-build/grovel-headers.c 18 Jun 2006 23:47:58 -0000 1.15 -+++ tools-for-build/grovel-headers.c 28 Jun 2006 10:34:15 -0000 -@@ -338,6 +338,16 @@ - defsignal("sigxcpu", SIGXCPU); - defsignal("sigxfsz", SIGXFSZ); - #endif -+#ifdef __FreeBSD__ -+ defconstant("fpe-intovf", FPE_INTOVF); -+ defconstant("fpe-intdiv", FPE_INTDIV); -+ defconstant("fpe-fltdiv", FPE_FLTDIV); -+ defconstant("fpe-fltovf", FPE_FLTOVF); -+ defconstant("fpe-fltund", FPE_FLTUND); -+ defconstant("fpe-fltres", FPE_FLTRES); -+ defconstant("fpe-fltinv", FPE_FLTINV); -+ defconstant("fpe-fltsub", FPE_FLTSUB); -+#endif - #endif // _WIN32 - return 0; - } Property changes on: head/lang/sbcl/files/patch-floating-point ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.3 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/lang/sbcl/files/patch-backtrace =================================================================== --- head/lang/sbcl/files/patch-backtrace (revision 178533) +++ head/lang/sbcl/files/patch-backtrace (nonexistent) @@ -1,117 +0,0 @@ -Index: src/code/debug-int.lisp -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/code/debug-int.lisp,v -retrieving revision 1.101 -diff -u -r1.101 debug-int.lisp ---- src/code/debug-int.lisp 28 Sep 2005 13:42:24 -0000 1.101 -+++ src/code/debug-int.lisp 27 Feb 2006 10:52:45 -0000 -@@ -559,6 +559,9 @@ - - (defconstant sb!vm::nargs-offset #.sb!vm::ecx-offset) - -+(sb!alien:define-alien-variable "user_space_start" sb!alien:unsigned-long) -+(sb!alien:define-alien-variable "user_space_end" sb!alien:unsigned-long) -+ - ;;; Check for a valid return address - it could be any valid C/Lisp - ;;; address. - ;;; -@@ -567,11 +570,7 @@ - (defun ra-pointer-valid-p (ra) - (declare (type system-area-pointer ra)) - (and -- ;; not the first page (which is unmapped) -- ;; -- ;; FIXME: Where is this documented? Is it really true of every CPU -- ;; architecture? Is it even necessarily true in current SBCL? -- (>= (sap-int ra) 4096) -+ (>= user-space-end (sap-int ra) user-space-start) - ;; not a Lisp stack pointer - (not (control-stack-pointer-valid-p ra)))) - -Index: src/runtime/bsd-os.c -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/runtime/bsd-os.c,v -retrieving revision 1.36 -diff -u -r1.36 bsd-os.c ---- src/runtime/bsd-os.c 21 Feb 2006 23:40:36 -0000 1.36 -+++ src/runtime/bsd-os.c 27 Feb 2006 10:52:45 -0000 -@@ -53,6 +53,8 @@ - - #ifdef __FreeBSD__ - #include -+#include -+#include - #include - - static void freebsd_init(); -@@ -310,6 +312,25 @@ - fast_bzero_pointer = fast_bzero_detect; - } - #endif /* LISP_FEATURE_X86 */ -+ /* extract lowermost address from linkmap */ -+ { -+ Link_map *map; -+ -+ if (dlinfo(RTLD_SELF, RTLD_DI_LINKMAP, &map) == 0 -+ && map != NULL && map->l_addr != NULL) -+ user_space_start = (unsigned long)map->l_addr; -+ } -+ -+ /* extract uppermost address from "kern.usrstack" mib */ -+ { -+ size_t len; -+ unsigned long tmp; -+ -+ len = sizeof(tmp); -+ if (sysctlbyname("kern.usrstack", &tmp, &len, NULL, 0) == 0 -+ && tmp > user_space_start) -+ user_space_end = tmp; -+ } - } - #endif /* __FreeBSD__ */ - -Index: src/runtime/globals.c -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/runtime/globals.c,v -retrieving revision 1.19 -diff -u -r1.19 globals.c ---- src/runtime/globals.c 21 Feb 2006 22:59:33 -0000 1.19 -+++ src/runtime/globals.c 27 Feb 2006 10:52:45 -0000 -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "sbcl.h" - #include "runtime.h" -@@ -54,6 +55,14 @@ - pthread_key_t specials=0; - #endif - -+/* Valid user address space. */ -+ -+/* not the first page (which is unmapped) -+ * good default for most architectures. */ -+unsigned long user_space_start = 4096; -+ -+unsigned long user_space_end = ULONG_MAX; -+ - void globals_init(void) - { - /* Space, stack, and free pointer vars are initialized by -Index: src/runtime/globals.h -=================================================================== -RCS file: /cvsroot/sbcl/sbcl/src/runtime/globals.h,v -retrieving revision 1.26 -diff -u -r1.26 globals.h ---- src/runtime/globals.h 21 Feb 2006 22:59:33 -0000 1.26 -+++ src/runtime/globals.h 27 Feb 2006 10:52:46 -0000 -@@ -108,4 +108,7 @@ - - #endif /* LANGUAGE_ASSEMBLY */ - -+extern unsigned long user_space_start; -+extern unsigned long user_space_end; -+ - #endif /* _INCLUDED_GLOBALS_H_ */ Property changes on: head/lang/sbcl/files/patch-backtrace ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.3 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/lang/sbcl/files/customize-target-features.lisp =================================================================== --- head/lang/sbcl/files/customize-target-features.lisp (nonexistent) +++ head/lang/sbcl/files/customize-target-features.lisp (revision 178534) @@ -0,0 +1,7 @@ +(lambda (features) + (flet ((enable (x) + (pushnew x features)) + (disable (x) + (setf features (remove x features)))) + (enable :sb-thread) + features)) Property changes on: head/lang/sbcl/files/customize-target-features.lisp ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/lang/sbcl/files/patch-freebsd-amd64 =================================================================== --- head/lang/sbcl/files/patch-freebsd-amd64 (nonexistent) +++ head/lang/sbcl/files/patch-freebsd-amd64 (revision 178534) @@ -0,0 +1,559 @@ +--- make-config.sh Thu Nov 30 02:36:43 2006 +0000 ++++ make-config.sh Thu Nov 30 11:42:35 2006 +0900 +@@ -102,6 +102,7 @@ case `uname -m` in + *86) guessed_sbcl_arch=x86 ;; + i86pc) guessed_sbcl_arch=x86 ;; + *x86_64) guessed_sbcl_arch=x86-64 ;; ++ amd64) guessed_sbcl_arch=x86-64 ;; + [Aa]lpha) guessed_sbcl_arch=alpha ;; + sparc*) guessed_sbcl_arch=sparc ;; + sun*) guessed_sbcl_arch=sparc ;; +--- src/runtime/GNUmakefile Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/GNUmakefile Thu Nov 30 13:26:27 2006 +0900 +@@ -58,7 +58,7 @@ targets: $(TARGET) sbcl.nm + $(CC) ${LINKFLAGS} -o $@ $^ $(LIBS) + + sbcl.nm: $(TARGET) +- $(NM) $(TARGET) | $(GREP) -v " F \| U " > ,$@ ++ $(NM) $(TARGET) | $(GREP) -v " [FUw] " > ,$@ + mv -f ,$@ $@ + + sbcl.h: $(wildcard genesis/*.h) +--- src/runtime/breakpoint.h Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/breakpoint.h Thu Nov 30 18:16:38 2006 +0900 +@@ -22,5 +22,7 @@ extern void handle_breakpoint(int signal + os_context_t *context); + extern void *handle_fun_end_breakpoint(int signal, siginfo_t *info, + os_context_t *context); ++extern void handle_single_step_trap (os_context_t *context, int kind, ++ int register_offset); + + #endif +--- src/runtime/bsd-os.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/bsd-os.c Thu Nov 30 18:38:30 2006 +0900 +@@ -41,6 +41,9 @@ + #include + /* #include */ + #include "validate.h" ++#if defined LISP_FEATURE_GENCGC ++#include "gencgc-internal.h" ++#endif + + os_vm_size_t os_vm_page_size; + +@@ -55,7 +58,6 @@ static void netbsd_init(); + + #ifdef __FreeBSD__ + #include +-#include + + static void freebsd_init(); + #endif /* __FreeBSD__ */ +@@ -71,23 +73,6 @@ os_init(char *argv[], char *envp[]) + #ifdef __FreeBSD__ + freebsd_init(); + #endif /* __FreeBSD__ */ +-} +- +-int *os_context_pc_addr(os_context_t *context) +-{ +-#if defined __FreeBSD__ +- return CONTEXT_ADDR_FROM_STEM(eip); +-#elif defined __OpenBSD__ +- return CONTEXT_ADDR_FROM_STEM(pc); +-#elif defined __NetBSD__ +- return CONTEXT_ADDR_FROM_STEM(EIP); +-#elif defined(LISP_FEATURE_DARWIN) && defined(LISP_FEATURE_X86) +- return CONTEXT_ADDR_FROM_STEM(eip); +-#elif defined LISP_FEATURE_DARWIN +- return &context->uc_mcontext->ss.srr0; +-#else +-#error unsupported BSD variant +-#endif + } + + sigset_t * +@@ -172,9 +157,11 @@ is_valid_lisp_addr(os_vm_address_t addr) + in_range_p(addr, DYNAMIC_SPACE_START , dynamic_space_size)) + return 1; + for_each_thread(th) { +- if((th->control_stack_start <= addr) && (addr < th->control_stack_end)) ++ if(((os_vm_address_t)th->control_stack_start <= addr) && ++ (addr < (os_vm_address_t)th->control_stack_end)) + return 1; +- if(in_range_p(addr, th->binding_stack_start, BINDING_STACK_SIZE)) ++ if(in_range_p(addr, (lispobj)th->binding_stack_start, ++ BINDING_STACK_SIZE)) + return 1; + } + return 0; +@@ -191,10 +178,20 @@ is_valid_lisp_addr(os_vm_address_t addr) + * page fault on this OS. + */ + static void +-memory_fault_handler(int signal, siginfo_t *siginfo, void *void_context) ++memory_fault_handler(int signal, siginfo_t *siginfo, void *void_context ++#if defined(LISP_FEATURE_FREEBSD) && defined(LISP_FEATURE_X86_64) ++/* FreeBSD/amd64 stores fault address only in undocumented 4th arg. */ ++ ,void *fault_addr ++#endif ++ ) + { + os_context_t *context = arch_os_get_context(&void_context); ++#if defined(LISP_FEATURE_FREEBSD) && defined(LISP_FEATURE_X86_64) ++ /* KLUDGE: Store fault address into si_addr for compatibilities. */ ++ siginfo->si_addr = fault_addr; ++#else + void *fault_addr = arch_get_bad_addr(signal, siginfo, context); ++#endif + + #if defined(LISP_FEATURE_RESTORE_TLS_SEGMENT_REGISTER_FROM_CONTEXT) + FSHOW_SIGNAL((stderr, "/ TLS: restoring fs: %p in memory_fault_handler\n", +@@ -202,7 +199,7 @@ memory_fault_handler(int signal, siginfo + os_restore_tls_segment_register(context); + #endif + +- FSHOW((stderr, "Memory fault at: %p, PC: %x\n", fault_addr, *os_context_pc_addr(context))); ++ FSHOW((stderr, "Memory fault at: %p, PC: %p\n", fault_addr, *os_context_pc_addr(context))); + + if (!gencgc_handle_wp_violation(fault_addr)) + if(!handle_guard_page_triggered(context,fault_addr)) { +@@ -225,9 +222,15 @@ os_install_interrupt_handlers(void) + { + SHOW("os_install_interrupt_handlers()/bsd-os/defined(GENCGC)"); + undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT, ++#ifdef LISP_FEATURE_FREEBSD ++ (__siginfohandler_t *) ++#endif + memory_fault_handler); + #ifdef SIG_MEMORY_FAULT2 + undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT2, ++#ifdef LISP_FEATURE_FREEBSD ++ (__siginfohandler_t *) ++#endif + memory_fault_handler); + #endif + +@@ -363,6 +366,8 @@ static void freebsd_init() + #define KERN_PROC_PATHNAME 12 + #endif + ++extern int getosreldate(void); ++ + char * + os_get_runtime_executable_path() + { +--- src/runtime/bsd-os.h Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/bsd-os.h Thu Nov 30 12:46:02 2006 +0900 +@@ -31,7 +31,6 @@ typedef vm_size_t os_vm_size_t; + #endif + typedef off_t os_vm_offset_t; + typedef int os_vm_prot_t; +-typedef int os_context_register_t; + + #if defined __OpenBSD__ + /* name defined for compatibility between OpenBSD 3.1 sigaltstack(2) and +--- src/runtime/coreparse.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/coreparse.c Thu Nov 30 18:19:58 2006 +0900 +@@ -107,7 +107,7 @@ lose: + } + + static void +-process_directory(int fd, u32 *ptr, int count, os_vm_offset_t file_offset) ++process_directory(int fd, lispobj *ptr, int count, os_vm_offset_t file_offset) + { + struct ndir_entry *entry; + +--- src/runtime/interrupt.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/interrupt.c Thu Nov 30 18:21:43 2006 +0900 +@@ -584,7 +584,6 @@ run_deferred_handler(struct interrupt_da + * pending handler before calling it. Trust the handler to finish + * with the siginfo before enabling interrupts. */ + void (*pending_handler) (int, siginfo_t*, void*)=data->pending_handler; +- os_context_t *context = arch_os_get_context(&v_context); + + data->pending_handler=0; + (*pending_handler)(data->pending_signal,&(data->pending_info), v_context); +--- src/runtime/parse.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/parse.c Thu Nov 30 18:22:24 2006 +0900 +@@ -12,6 +12,7 @@ + */ + + #include ++#include + #include + #include + +--- src/runtime/print.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/print.c Thu Nov 30 18:22:44 2006 +0900 +@@ -19,6 +19,7 @@ + */ + + #include ++#include + + #include "sbcl.h" + #include "print.h" +--- src/runtime/x86-64-arch.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/x86-64-arch.c Thu Nov 30 19:03:02 2006 +0900 +@@ -50,7 +50,7 @@ arch_get_bad_addr(int sig, siginfo_t *co + * want to get to, and on OS, which determines how we get to it.) + */ + +-int * ++os_context_register_t * + context_eflags_addr(os_context_t *context) + { + #if defined __linux__ +@@ -61,7 +61,7 @@ context_eflags_addr(os_context_t *contex + * instead. */ + return &context->uc_mcontext.gregs[17]; + #elif defined __FreeBSD__ +- return &context->uc_mcontext.mc_eflags; ++ return &context->uc_mcontext.mc_rflags; + #elif defined __OpenBSD__ + return &context->sc_eflags; + #else +@@ -106,7 +106,7 @@ void arch_skip_instruction(os_context_t + break; + + default: +- fprintf(stderr,"[arch_skip_inst invalid code %d\n]\n",code); ++ fprintf(stderr,"[arch_skip_inst invalid code %ld\n]\n",code); + break; + } + +@@ -166,6 +166,11 @@ arch_remove_breakpoint(void *pc, unsigne + /* When single stepping, single_stepping holds the original instruction + * PC location. */ + unsigned int *single_stepping = NULL; ++#ifdef CANNOT_GET_TO_SINGLE_STEP_FLAG ++unsigned int single_step_save1; ++unsigned int single_step_save2; ++unsigned int single_step_save3; ++#endif + + void + arch_do_displaced_inst(os_context_t *context, unsigned int orig_inst) +@@ -176,9 +181,24 @@ arch_do_displaced_inst(os_context_t *con + *((char *)pc) = orig_inst & 0xff; + *((char *)pc + 1) = (orig_inst & 0xff00) >> 8; + ++#ifdef CANNOT_GET_TO_SINGLE_STEP_FLAG ++ /* Install helper instructions for the single step: ++ * pushf; or [esp],0x100; popf. */ ++ single_step_save1 = *(pc-3); ++ single_step_save2 = *(pc-2); ++ single_step_save3 = *(pc-1); ++ *(pc-3) = 0x9c909090; ++ *(pc-2) = 0x00240c81; ++ *(pc-1) = 0x9d000001; ++#else + *context_eflags_addr(context) |= 0x100; ++#endif + + single_stepping = pc; ++ ++#ifdef CANNOT_GET_TO_SINGLE_STEP_FLAG ++ *os_context_pc_addr(context) = (os_context_register_t)((char *)pc - 9); ++#endif + } + + +@@ -191,10 +211,17 @@ sigtrap_handler(int signal, siginfo_t *i + + if (single_stepping && (signal==SIGTRAP)) + { ++#ifdef CANNOT_GET_TO_SINGLE_STEP_FLAG ++ /* Un-install single step helper instructions. */ ++ *(single_stepping-3) = single_step_save1; ++ *(single_stepping-2) = single_step_save2; ++ *(single_stepping-1) = single_step_save3; ++#else + *context_eflags_addr(context) ^= 0x100; +- ++#endif + /* Re-install the breakpoint if possible. */ +- if (*os_context_pc_addr(context) == (int)single_stepping + 1) { ++ if ((char *)*os_context_pc_addr(context) == ++ (char *)single_stepping + 1) { + fprintf(stderr, "warning: couldn't reinstall breakpoint\n"); + } else { + *((char *)single_stepping) = BREAKPOINT_INST; /* x86 INT3 */ +@@ -216,7 +243,7 @@ sigtrap_handler(int signal, siginfo_t *i + single-stepping (as far as I can tell) this is somewhat moot, + but it might be worth either moving this code up or deleting + the single-stepping code entirely. -- CSR, 2002-07-15 */ +-#ifdef LISP_FEATURE_LINUX ++#if defined(LISP_FEATURE_LINUX) || defined(RESTORE_FP_CONTROL_FROM_CONTEXT) + os_restore_fp_control(context); + #endif + +--- src/runtime/x86-bsd-os.c Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/x86-bsd-os.c Thu Nov 30 12:28:00 2006 +0900 +@@ -100,6 +100,22 @@ os_context_sp_addr(os_context_t *context + + #endif /* __NetBSD__ */ + ++int *os_context_pc_addr(os_context_t *context) ++{ ++#if defined __FreeBSD__ ++ return CONTEXT_ADDR_FROM_STEM(eip); ++#elif defined __OpenBSD__ ++ return CONTEXT_ADDR_FROM_STEM(pc); ++#elif defined __NetBSD__ ++ return CONTEXT_ADDR_FROM_STEM(EIP); ++#elif defined(LISP_FEATURE_DARWIN) && defined(LISP_FEATURE_X86) ++ return CONTEXT_ADDR_FROM_STEM(eip); ++#elif defined LISP_FEATURE_DARWIN ++ return &context->uc_mcontext->ss.srr0; ++#else ++#error unsupported BSD variant ++#endif ++} + + /* FIXME: If this can be a no-op on BSD/x86, then it + * deserves a more precise name. +--- src/runtime/x86-bsd-os.h Thu Nov 30 02:36:43 2006 +0000 ++++ src/runtime/x86-bsd-os.h Thu Nov 30 12:43:00 2006 +0900 +@@ -5,6 +5,8 @@ + #include + #include + #endif ++ ++typedef int os_context_register_t; + + static inline os_context_t *arch_os_get_context(void **void_context) { + return (os_context_t *) *void_context; +--- tests/foreign-stack-alignment.impure.lisp Thu Nov 30 02:36:43 2006 +0000 ++++ tests/foreign-stack-alignment.impure.lisp Thu Nov 30 16:41:00 2006 +0900 +@@ -43,7 +43,7 @@ + ;;;; number. + + (run "cc" +- #+(and linux (or x86-64 ppc)) "-fPIC" ++ #+(and (or linux freebsd) (or x86-64 ppc)) "-fPIC" + "stack-alignment-offset.c" "-o" "stack-alignment-offset") + + (defparameter *good-offset* +@@ -53,7 +53,7 @@ + ;;;; Build the tool again, this time as a shared object, and load it + + (run "cc" "stack-alignment-offset.c" +- #+(and linux (or x86-64 ppc)) "-fPIC" ++ #+(and (or linux freebsd) (or x86-64 ppc)) "-fPIC" + #+darwin "-bundle" #-darwin "-shared" + "-o" "stack-alignment-offset.so") + +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ src/runtime/Config.x86-64-bsd Thu Nov 30 17:01:43 2006 +0900 +@@ -0,0 +1,25 @@ ++# -*- makefile -*- for the C-level run-time support for SBCL ++# configuration stuff shared between various *BSD OSes ++ ++# This software is part of the SBCL system. See the README file for ++# more information. ++# ++# This software is derived from the CMU CL system, which was ++# written at Carnegie Mellon University and released into the ++# public domain. The software is in the public domain and is ++# provided with absolutely no warranty. See the COPYING and CREDITS ++# files for more information. ++ ++ASSEM_SRC = x86-64-assem.S ++ARCH_SRC = x86-64-arch.c ++ ++OS_SRC = bsd-os.c x86-64-bsd-os.c ++OS_LIBS = # -ldl ++ ++CFLAGS += -fno-omit-frame-pointer ++ ++GC_SRC = gencgc.c ++ ++# Nothing to do for after-grovel-headers. ++.PHONY: after-grovel-headers ++after-grovel-headers: +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ src/runtime/Config.x86-64-freebsd Thu Nov 30 11:47:03 2006 +0900 +@@ -0,0 +1,26 @@ ++# -*- makefile -*- for the C-level run-time support for SBCL ++ ++# This software is part of the SBCL system. See the README file for ++# more information. ++# ++# This software is derived from the CMU CL system, which was ++# written at Carnegie Mellon University and released into the ++# public domain. The software is in the public domain and is ++# provided with absolutely no warranty. See the COPYING and CREDITS ++# files for more information. ++ ++include Config.x86-64-bsd ++ ++ASSEM_SRC += ldso-stubs.S ++ ++# Until sbcl-0.6.7.3, we used "LINKFLAGS+=-static" here, which ++# worked fine for most things, but LOAD-FOREIGN & friends require ++# dlopen() etc., which in turn depend on dynamic linking of the ++# runtime. ++LINKFLAGS += -dynamic -export-dynamic ++ ++# use libthr (1:1 threading). libpthread (m:n threading) does not work. ++ifdef LISP_FEATURE_SB_THREAD ++ #OS_LIBS += -lpthread ++ OS_LIBS += -lthr ++endif +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ src/runtime/x86-64-bsd-os.c Thu Nov 30 16:02:37 2006 +0900 +@@ -0,0 +1,115 @@ ++#include ++#include "sbcl.h" ++#include "runtime.h" ++#include "thread.h" ++#include "lispregs.h" ++ ++#if defined(LISP_FEATURE_FREEBSD) ++#include ++#endif ++ ++/* KLUDGE: There is strong family resemblance in the signal context ++ * stuff in FreeBSD and OpenBSD, but in detail they're different in ++ * almost every line of code. It would be nice to find some way to ++ * factor out the commonality better; failing that, it might be best ++ * just to split this generic-BSD code into one variant for each BSD. ++ * ++ * KLUDGE II: this split has begun with the addition of the Darwin BSD ++ * flavour, with the cross-architecture complications that this ++ * entails; unfortunately, currently the situation is worse, not ++ * better, than in the above paragraph. */ ++ ++#if defined(LISP_FEATURE_FREEBSD) ++os_context_register_t * ++os_context_register_addr(os_context_t *context, int offset) ++{ ++ switch(offset) { ++ case reg_RAX: ++ return CONTEXT_ADDR_FROM_STEM(rax); ++ case reg_RCX: ++ return CONTEXT_ADDR_FROM_STEM(rcx); ++ case reg_RDX: ++ return CONTEXT_ADDR_FROM_STEM(rdx); ++ case reg_RBX: ++ return CONTEXT_ADDR_FROM_STEM(rbx); ++ case reg_RSP: ++ return CONTEXT_ADDR_FROM_STEM(rsp); ++ case reg_RBP: ++ return CONTEXT_ADDR_FROM_STEM(rbp); ++ case reg_RSI: ++ return CONTEXT_ADDR_FROM_STEM(rsi); ++ case reg_RDI: ++ return CONTEXT_ADDR_FROM_STEM(rdi); ++ case reg_R8: ++ return CONTEXT_ADDR_FROM_STEM(r8); ++ case reg_R9: ++ return CONTEXT_ADDR_FROM_STEM(r9); ++ case reg_R10: ++ return CONTEXT_ADDR_FROM_STEM(r10); ++ case reg_R11: ++ return CONTEXT_ADDR_FROM_STEM(r11); ++ case reg_R12: ++ return CONTEXT_ADDR_FROM_STEM(r12); ++ case reg_R13: ++ return CONTEXT_ADDR_FROM_STEM(r13); ++ case reg_R14: ++ return CONTEXT_ADDR_FROM_STEM(r14); ++ case reg_R15: ++ return CONTEXT_ADDR_FROM_STEM(r15); ++ default: ++ return 0; ++ } ++} ++ ++os_context_register_t * ++os_context_sp_addr(os_context_t *context) ++{ ++ return CONTEXT_ADDR_FROM_STEM(rsp); ++} ++ ++os_context_register_t * ++os_context_pc_addr(os_context_t *context) ++{ ++ return CONTEXT_ADDR_FROM_STEM(rip); ++} ++ ++#endif ++ ++void ++os_flush_icache(os_vm_address_t address, os_vm_size_t length) ++{ ++} ++ ++int arch_os_thread_init(struct thread *thread) { ++ stack_t sigstack; ++#ifdef LISP_FEATURE_SB_THREAD ++ pthread_setspecific(specials,thread); ++#endif ++#ifdef LISP_FEATURE_C_STACK_IS_CONTROL_STACK ++ /* Signal handlers are run on the control stack, so if it is exhausted ++ * we had better use an alternate stack for whatever signal tells us ++ * we've exhausted it */ ++ sigstack.ss_sp=((void *) thread)+dynamic_values_bytes; ++ sigstack.ss_flags=0; ++ sigstack.ss_size = 32*SIGSTKSZ; ++ sigaltstack(&sigstack,0); ++#endif ++ return 1; /* success */ ++} ++ ++int arch_os_thread_cleanup(struct thread *thread) { ++ return 1; /* success */ ++} ++ ++#if defined(LISP_FEATURE_FREEBSD) ++void ++os_restore_fp_control(os_context_t *context) ++{ ++ struct envxmm *ex = (struct envxmm*)(&context->uc_mcontext.mc_fpstate); ++ /* reset exception flags and restore control flags on SSE2 FPU */ ++ unsigned int temp = (ex->en_mxcsr) & ~0x3F; ++ asm ("ldmxcsr %0" : : "m" (temp)); ++ /* same for x87 FPU. */ ++ asm ("fldcw %0" : : "m" (ex->en_cw)); ++} ++#endif +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ src/runtime/x86-64-bsd-os.h Thu Nov 30 12:45:17 2006 +0900 +@@ -0,0 +1,34 @@ ++#ifndef _X86_64_BSD_OS_H ++#define _X86_64_BSD_OS_H ++ ++#ifdef LISP_FEATURE_FREEBSD ++#include ++#include ++#endif ++ ++typedef register_t os_context_register_t; ++ ++static inline os_context_t *arch_os_get_context(void **void_context) { ++ return (os_context_t *) *void_context; ++} ++ ++/* The different BSD variants have diverged in exactly where they ++ * store signal context information, but at least they tend to use the ++ * same stems to name the structure fields, so by using this macro we ++ * can share a fair amount of code between different variants. */ ++#if defined __FreeBSD__ ++#define CONTEXT_ADDR_FROM_STEM(stem) &context->uc_mcontext.mc_ ## stem ++#elif defined(__OpenBSD__) ++#define CONTEXT_ADDR_FROM_STEM(stem) &context->sc_ ## stem ++#elif defined __NetBSD__ ++#define CONTEXT_ADDR_FROM_STEM(stem) &((context)->uc_mcontext.__gregs[_REG_ ## stem]) ++#else ++#error unsupported BSD variant ++#endif ++ ++#if defined LISP_FEATURE_FREEBSD ++#define RESTORE_FP_CONTROL_FROM_CONTEXT ++void os_restore_fp_control(os_context_t *context); ++#endif ++ ++#endif /* _X86_64_BSD_OS_H */ Property changes on: head/lang/sbcl/files/patch-freebsd-amd64 ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/lang/sbcl/files/patch-src_runtime_thread.c =================================================================== --- head/lang/sbcl/files/patch-src_runtime_thread.c (nonexistent) +++ head/lang/sbcl/files/patch-src_runtime_thread.c (revision 178534) @@ -0,0 +1,13 @@ +--- src/runtime/thread.c Thu Nov 23 15:11:26 2006 +0000 ++++ src/runtime/thread.c Fri Nov 24 01:54:54 2006 +0900 +@@ -350,6 +350,10 @@ create_thread_struct(lispobj initial_fun + int i; + #endif + ++#ifdef CREATE_CLEANUP_THREAD ++ /* Give a chance for cleanup threads to run. */ ++ sched_yield(); ++#endif + /* may as well allocate all the spaces at once: it saves us from + * having to decide what to do if only some of the allocations + * succeed */ Property changes on: head/lang/sbcl/files/patch-src_runtime_thread.c ___________________________________________________________________ Added: cvs2svn:cvs-rev ## -0,0 +1 ## +1.1 \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: head/lang/sbcl/pkg-plist =================================================================== --- head/lang/sbcl/pkg-plist (revision 178533) +++ head/lang/sbcl/pkg-plist (revision 178534) @@ -1,562 +1,561 @@ %%DOCSDIR%%/BUGS %%DOCSDIR%%/COPYING %%DOCSDIR%%/CREDITS %%DOCSDIR%%/NEWS %%DOCSDIR%%/SUPPORT %%PORTDOCS%%%%DOCSDIR%%/html/asdf/A-more-involved-example.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Common-attributes-of-components.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Compilation-error-and-warning-handling.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Components.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Concept-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Creating-new-component-types.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Creating-new-operations.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Defining-systems-with-defsystem.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Error-handling.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Function-and-Class-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Getting-the-latest-version.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Inspiration.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Operations.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Pre_002ddefined-subclasses-of-component.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Predefined-operations-of-asdf.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/TODO-list.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/The-defsystem-form.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/The-defsystem-grammar.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/The-object-model-of-asdf.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Using-asdf-to-load-systems.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/Variable-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/index.html %%PORTDOCS%%%%DOCSDIR%%/html/asdf/missing-bits-in-implementation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/ANSI-Conformance.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Accessing-Foreign-Values.html -%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Accurate-Profiler.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Additional-Distributed-Documentation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Automatic-Recompilation-of-Stale-Fasls.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Beyond-the-ANSI-Standard.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Bivalent-Streams.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Calling-Lisp-From-C.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Class-sb_002dbsd_002dsockets_003ahost_002dent.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Class-sb_002dbsd_002dsockets_003ainet_002dsocket.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Class-sb_002dbsd_002dsockets_003alocal_002dsocket.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Class-sb_002dbsd_002dsockets_003asocket.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Class-sb_002dgray_003afundamental_002dstream.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Coercing-Foreign-Values.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Colophon.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Command-Line-Options.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Common-Lisp-Books.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Compiler-Errors.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Compiler-Policy.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Compiler.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Compiler_002donly-Implementation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Concept-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003acode_002ddeletion_002dnote.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003acompiler_002dnote.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003apackage_002dlock_002dviolation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003apackage_002dlocked_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dext_003asymbol_002dpackage_002dlocked_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Condition-sb_002dthread_003ainterrupt_002dthread_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Contributed-Modules.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Controlling-Verbosity.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Customization-Hooks-for-Users.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debug-Tail-Recursion.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Banner.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Command-Loop.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Entry.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Invokation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger-Policy-Control.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Debugger.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Declarations-as-Assertions.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Declarations.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Defining-Constants.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Defining-Foreign-Types.html +%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Deterministic-Profiler.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Development-Tools.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Diagnostic-Messages.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Diagnostic-Severity.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Dynamic_002dextent-allocation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Editor-Integration.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Efficiency-Hacks.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Efficiency.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/End-of-File.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Entry-Point-Details.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Errors-During-Macroexpansion.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Exit-on-Errors.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Exiting-Commands.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Extensible-Streams.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Extensions.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/External-Foreign-Variables.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Data-Structure-Examples.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Dynamic-Allocation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Function-Calls.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Function-Interface.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Type-Specifiers.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Types-and-Lisp-Types.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Types.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Foreign-Variables.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-Names.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-Tracing.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-common_002dlisp_003aed.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-common_002dlisp_003arequire.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dalien_003aload_002dshared_002dobject.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dhost_002dby_002daddress.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dhost_002dby_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003aget_002dprotocol_002dby_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003amake_002dinet_002daddress.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003aname_002dservice_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asocket_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dbroadcast.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dbsd_002dcompatible.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002ddebug.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002ddont_002droute.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dkeep_002dalive.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002doob_002dinline.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dpass_002dcredentials.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dreuse_002daddress.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dbsd_002dsockets_003asockopt_002dtcp_002dnodelay.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aadd_002dimplementation_002dpackage.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003acancel_002dfinalization.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003afinalize.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003alist_002dall_002dtimers.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003alock_002dpackage.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003amake_002dtimer.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003amake_002dweak_002dpointer.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003anative_002dnamestring.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003anative_002dpathname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dimplemented_002dby_002dlist.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dimplements_002dlist.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apackage_002dlocked_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aparse_002dnative_002dnamestring.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aposix_002dgetenv.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dalive_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dclose.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dcore_002ddumped.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002derror.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dexit_002dcode.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dinput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dkill.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002doutput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dstatus.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aprocess_002dwait.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003apurify.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aquit.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aremove_002dimplementation_002dpackage.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003arun_002dprogram.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003asave_002dlisp_002dand_002ddie.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aschedule_002dtimer.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003atimer_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003atimer_002dscheduled_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aunlock_002dpackage.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aunschedule_002dtimer.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dext_003aweak_002dpointer_002dvalue.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dfile.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dsequence.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstream.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dmd5_003amd5sum_002dstring.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dprofile_003areport.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dprofile_003areset.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002drotate_002dbyte_003arotate_002dbyte.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003areport.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003areset.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003astart_002dprofiling.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dsprof_003astop_002dprofiling.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dbroadcast.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dnotify.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003acondition_002dwait.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003aget_002dmutex.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003ainterrupt_002dthread_002derror_002dthread.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003alist_002dall_002dthreads.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dmutex.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dthread.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amake_002dwaitqueue.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amutex_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003amutex_002dvalue.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003arelease_002dmutex.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003aterminate_002dthread.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003athread_002dalive_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Function-sb_002dthread_003awaitqueue_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Garbage-Collection.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/General-Sockets.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003ahost_002dent_002daddress.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003anon_002dblocking_002dmode.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002daccept.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dbind.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dclose.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dconnect.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dlisten.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dmake_002dstream.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dname.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dopen_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dpeername.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dreceive.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dbsd_002dsockets_003asocket_002dsend.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dadvance_002dto_002dcolumn.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dclear_002dinput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dclear_002doutput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dfinish_002doutput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dforce_002doutput.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dfresh_002dline.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dline_002dcolumn.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dline_002dlength.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dlisten.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dpeek_002dchar.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dbyte.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dchar.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dchar_002dno_002dhang.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dline.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dread_002dsequence.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dstart_002dline_002dp.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dterpri.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dunread_002dchar.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dbyte.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dchar.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dsequence.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Generic_002dFunction-sb_002dgray_003astream_002dwrite_002dstring.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Getting-Existing-Programs-to-Run.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Gray-Streams.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Handling-of-Types.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/History-and-Implementation-of-SBCL.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/How-Arguments-are-Printed.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/How-the-Source-is-Found.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/INET-Domain-Sockets.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Idiosyncrasies.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Implementation-Limitations.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Implementation-Packages.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Implementation-_0028Linux-x86_0029.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Information-Commands.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Initialization-Examples.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Initialization-File-Semantics.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Initialization-Files.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Internals-Documentation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Internet-Community.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Interpreter.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Introduction-to-the-Foreign-Function-Interface.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Introduction.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Language-Reference.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Lisp-Pathnames.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Loading-Shared-Object-Files.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Local-Foreign-Variables.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Local-_0028Unix_0029-Domain-Sockets.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-common_002dlisp_003astep.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-common_002dlisp_003atrace.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-common_002dlisp_003auntrace.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dext_003awith_002dunlocked_002dpackages.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dext_003awithout_002dpackage_002dlocks.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dprofile_003aprofile.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dprofile_003aunprofile.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dsprof_003awith_002dprofiling.html +%%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dsprof_003awith_002dsampling.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dthread_003awith_002dmutex.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Macro-sb_002dthread_003awith_002drecursive_002dlock.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Metaobject-Protocol.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Modular-arithmetic.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/More-Common-Lisp-Information.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/More-SBCL-Information.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Mutex-Support.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Name-Service.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Native-Filenames.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Networking.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Note-On-Lexical-Variable-Access.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Online-Documentation.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Open-Coding-and-Inline-Expansion.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Operations-On-Foreign-Values.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Operations-Violating-Package-Locks.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Lock-Concepts.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Lock-Dictionary.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Lock-Overview.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Lock-Violations.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Locks-in-Compiled-Code.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Package-Locks.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Pathnames.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Precise-Type-Checking.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Profiling.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Quit.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Read-Errors.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Resolution-of-Name-Conflicts.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Running-from-Emacs.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Running-from-Shell.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Runtime-Options.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/SBCL-Homepage.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Saving-a-Core-Image.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Sessions_002fDebugging.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Shebang-Scripts.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Simple-Streams.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Single-Stepping.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Socket-Options.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Sockets-Overview.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Source-Location-Availability.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Source-Location-Printing.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Special-Variables.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Special_002dOperator-sb_002dext_003atruly_002dthe.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stack-Frames.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stack-Motion.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stale-Extensions.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Starting-SBCL.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Starting-and-Stopping.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Statistical-Profiler.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Step_002dBy_002dStep-Example-of-the-Foreign-Function-Interface.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Stopping-SBCL.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dext_003atimer.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003amutex.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003athread.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Structure-sb_002dthread_003awaitqueue.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Style-Warnings.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Support-For-Unix.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/System-Initialization-File.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Original-and-Actual-Source.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Parts-of-a-Compiler-Diagnostic.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-Processing-Path.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-alien_002dfuncall-Primitive.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/The-define_002dalien_002droutine-Macro.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Third_002dparty-Libraries.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Threading-basics.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Threading.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Timers.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Tools-To-Help-Developers.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Toplevel-Options.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Type-Errors-at-Compile-Time.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Type-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Understanding-Compiler-Diagnostics.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Unix_002dstyle-Command-Line-Protocol.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Unknown-Locations-and-Interrupts.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/User-Initialization-File.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-Access.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-Index.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-Value-Availability.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002amax_002dtrace_002dindentation_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dencapsulate_002ddefault_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dindentation_002dstep_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002ddebug_003a_002atrace_002dvalues_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002aafter_002dgc_002dhooks_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002acompiler_002dprint_002dvariable_002dalist_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002acore_002dpathname_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002adebug_002dprint_002dvariable_002dalist_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002aed_002dfunctions_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002ainvoke_002ddebugger_002dhook_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dext_003a_002amodule_002dprovider_002dfunctions_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dsprof_003a_002amax_002dsamples_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dsprof_003a_002asample_002dinterval_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Variable-sb_002dthread_003a_002acurrent_002dthread_002a.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/Waitqueue_002fcondition-variables.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/define_002dalien_002droutine-Example.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/index.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/sb_002daclrepl.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/sb_002dgrovel.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/sb_002dmd5.html %%PORTDOCS%%%%DOCSDIR%%/html/sbcl/sb_002drotate_002dbyte.html bin/sbcl lib/sbcl/asdf-install/.cvsignore lib/sbcl/asdf-install/Makefile lib/sbcl/asdf-install/README lib/sbcl/asdf-install/asdf-install.asd lib/sbcl/asdf-install/asdf-install.fasl lib/sbcl/asdf-install/defpackage.fasl lib/sbcl/asdf-install/defpackage.lisp lib/sbcl/asdf-install/installer.fasl lib/sbcl/asdf-install/installer.lisp lib/sbcl/asdf-install/test-passed lib/sbcl/asdf/asdf.fasl lib/sbcl/sb-aclrepl/.cvsignore lib/sbcl/sb-aclrepl/Makefile lib/sbcl/sb-aclrepl/README lib/sbcl/sb-aclrepl/debug.fasl lib/sbcl/sb-aclrepl/debug.lisp lib/sbcl/sb-aclrepl/inspect.fasl lib/sbcl/sb-aclrepl/inspect.lisp lib/sbcl/sb-aclrepl/repl.fasl lib/sbcl/sb-aclrepl/repl.lisp lib/sbcl/sb-aclrepl/sb-aclrepl.asd lib/sbcl/sb-aclrepl/sb-aclrepl.fasl lib/sbcl/sb-aclrepl/sb-aclrepl.texinfo lib/sbcl/sb-aclrepl/test-passed lib/sbcl/sb-aclrepl/tests.fasl lib/sbcl/sb-aclrepl/tests.lisp lib/sbcl/sb-aclrepl/toplevel.fasl lib/sbcl/sb-aclrepl/toplevel.lisp lib/sbcl/sb-bsd-sockets/.cvsignore lib/sbcl/sb-bsd-sockets/FAQ lib/sbcl/sb-bsd-sockets/Makefile lib/sbcl/sb-bsd-sockets/NEWS lib/sbcl/sb-bsd-sockets/TODO lib/sbcl/sb-bsd-sockets/a.out lib/sbcl/sb-bsd-sockets/constants.fasl lib/sbcl/sb-bsd-sockets/constants.lisp lib/sbcl/sb-bsd-sockets/constants.lisp-temp lib/sbcl/sb-bsd-sockets/defpackage.fasl lib/sbcl/sb-bsd-sockets/defpackage.lisp lib/sbcl/sb-bsd-sockets/doc.lisp lib/sbcl/sb-bsd-sockets/foo.c lib/sbcl/sb-bsd-sockets/inet.fasl lib/sbcl/sb-bsd-sockets/inet.lisp lib/sbcl/sb-bsd-sockets/local.fasl lib/sbcl/sb-bsd-sockets/local.lisp -lib/sbcl/sb-bsd-sockets/malloc.fasl -lib/sbcl/sb-bsd-sockets/malloc.lisp lib/sbcl/sb-bsd-sockets/misc.fasl lib/sbcl/sb-bsd-sockets/misc.lisp lib/sbcl/sb-bsd-sockets/name-service.fasl lib/sbcl/sb-bsd-sockets/name-service.lisp lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.fasl lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.texinfo lib/sbcl/sb-bsd-sockets/sockets.fasl lib/sbcl/sb-bsd-sockets/sockets.lisp lib/sbcl/sb-bsd-sockets/sockopt.fasl lib/sbcl/sb-bsd-sockets/sockopt.lisp lib/sbcl/sb-bsd-sockets/split.fasl lib/sbcl/sb-bsd-sockets/split.lisp lib/sbcl/sb-bsd-sockets/test-passed lib/sbcl/sb-bsd-sockets/tests.fasl lib/sbcl/sb-bsd-sockets/tests.lisp lib/sbcl/sb-bsd-sockets/win32-constants.lisp lib/sbcl/sb-bsd-sockets/win32-lib.lisp lib/sbcl/sb-bsd-sockets/win32-sockets.lisp lib/sbcl/sb-cltl2/.cvsignore lib/sbcl/sb-cltl2/Makefile lib/sbcl/sb-cltl2/compiler-let.fasl lib/sbcl/sb-cltl2/compiler-let.lisp lib/sbcl/sb-cltl2/defpackage.fasl lib/sbcl/sb-cltl2/defpackage.lisp lib/sbcl/sb-cltl2/env.fasl lib/sbcl/sb-cltl2/env.lisp lib/sbcl/sb-cltl2/macroexpand.fasl lib/sbcl/sb-cltl2/macroexpand.lisp lib/sbcl/sb-cltl2/sb-cltl2.asd lib/sbcl/sb-cltl2/sb-cltl2.fasl lib/sbcl/sb-cltl2/test-passed lib/sbcl/sb-cltl2/tests.fasl lib/sbcl/sb-cltl2/tests.lisp lib/sbcl/sb-executable/sb-executable.fasl lib/sbcl/sb-grovel/.cvsignore lib/sbcl/sb-grovel/Makefile lib/sbcl/sb-grovel/def-to-lisp.fasl lib/sbcl/sb-grovel/def-to-lisp.lisp lib/sbcl/sb-grovel/defpackage.fasl lib/sbcl/sb-grovel/defpackage.lisp lib/sbcl/sb-grovel/example-constants.lisp lib/sbcl/sb-grovel/foreign-glue.fasl lib/sbcl/sb-grovel/foreign-glue.lisp lib/sbcl/sb-grovel/sb-grovel.asd lib/sbcl/sb-grovel/sb-grovel.fasl lib/sbcl/sb-grovel/sb-grovel.texinfo lib/sbcl/sb-grovel/test-passed lib/sbcl/sb-introspect/sb-introspect.fasl lib/sbcl/sb-md5/.cvsignore lib/sbcl/sb-md5/Makefile lib/sbcl/sb-md5/README lib/sbcl/sb-md5/md5-tests.fasl lib/sbcl/sb-md5/md5-tests.lisp lib/sbcl/sb-md5/md5.fasl lib/sbcl/sb-md5/md5.lisp lib/sbcl/sb-md5/sb-md5.asd lib/sbcl/sb-md5/sb-md5.fasl lib/sbcl/sb-md5/sb-md5.texinfo lib/sbcl/sb-md5/test-passed lib/sbcl/sb-posix/.cvsignore lib/sbcl/sb-posix/Makefile lib/sbcl/sb-posix/README lib/sbcl/sb-posix/TODO lib/sbcl/sb-posix/a.out lib/sbcl/sb-posix/constants.fasl lib/sbcl/sb-posix/constants.lisp lib/sbcl/sb-posix/constants.lisp-temp lib/sbcl/sb-posix/defpackage.fasl lib/sbcl/sb-posix/defpackage.lisp lib/sbcl/sb-posix/designator.fasl lib/sbcl/sb-posix/designator.lisp lib/sbcl/sb-posix/foo.c lib/sbcl/sb-posix/interface.fasl lib/sbcl/sb-posix/interface.lisp lib/sbcl/sb-posix/macros.fasl lib/sbcl/sb-posix/macros.lisp lib/sbcl/sb-posix/posix-tests.fasl lib/sbcl/sb-posix/posix-tests.lisp lib/sbcl/sb-posix/sb-posix.asd lib/sbcl/sb-posix/sb-posix.fasl lib/sbcl/sb-posix/test-passed lib/sbcl/sb-rotate-byte/.cvsignore lib/sbcl/sb-rotate-byte/Makefile lib/sbcl/sb-rotate-byte/README lib/sbcl/sb-rotate-byte/compiler.fasl lib/sbcl/sb-rotate-byte/compiler.lisp lib/sbcl/sb-rotate-byte/package.fasl lib/sbcl/sb-rotate-byte/package.lisp lib/sbcl/sb-rotate-byte/ppc-vm.lisp lib/sbcl/sb-rotate-byte/rotate-byte-tests.fasl lib/sbcl/sb-rotate-byte/rotate-byte-tests.lisp lib/sbcl/sb-rotate-byte/rotate-byte.fasl lib/sbcl/sb-rotate-byte/rotate-byte.lisp lib/sbcl/sb-rotate-byte/sb-rotate-byte.asd lib/sbcl/sb-rotate-byte/sb-rotate-byte.fasl lib/sbcl/sb-rotate-byte/sb-rotate-byte.texinfo lib/sbcl/sb-rotate-byte/test-passed -lib/sbcl/sb-rotate-byte/x86-vm.fasl +%%I386_ONLY%%lib/sbcl/sb-rotate-byte/x86-vm.fasl lib/sbcl/sb-rotate-byte/x86-vm.lisp lib/sbcl/sb-rt/.cvsignore lib/sbcl/sb-rt/Makefile lib/sbcl/sb-rt/rt.fasl lib/sbcl/sb-rt/rt.lisp lib/sbcl/sb-rt/sb-rt.asd lib/sbcl/sb-rt/sb-rt.fasl lib/sbcl/sb-rt/test-passed lib/sbcl/sb-simple-streams/.cvsignore lib/sbcl/sb-simple-streams/Makefile lib/sbcl/sb-simple-streams/README lib/sbcl/sb-simple-streams/TODO lib/sbcl/sb-simple-streams/classes.fasl lib/sbcl/sb-simple-streams/classes.lisp lib/sbcl/sb-simple-streams/direct.fasl lib/sbcl/sb-simple-streams/direct.lisp lib/sbcl/sb-simple-streams/file.fasl lib/sbcl/sb-simple-streams/file.lisp lib/sbcl/sb-simple-streams/fndb.fasl lib/sbcl/sb-simple-streams/fndb.lisp lib/sbcl/sb-simple-streams/impl.fasl lib/sbcl/sb-simple-streams/impl.lisp lib/sbcl/sb-simple-streams/internal.fasl lib/sbcl/sb-simple-streams/internal.lisp lib/sbcl/sb-simple-streams/iodefs.fasl lib/sbcl/sb-simple-streams/iodefs.lisp lib/sbcl/sb-simple-streams/null.fasl lib/sbcl/sb-simple-streams/null.lisp lib/sbcl/sb-simple-streams/package.fasl lib/sbcl/sb-simple-streams/package.lisp lib/sbcl/sb-simple-streams/sb-simple-streams.asd lib/sbcl/sb-simple-streams/sb-simple-streams.fasl lib/sbcl/sb-simple-streams/sb-simple-streams.texinfo lib/sbcl/sb-simple-streams/simple-stream-tests.fasl lib/sbcl/sb-simple-streams/simple-stream-tests.lisp lib/sbcl/sb-simple-streams/socket.fasl lib/sbcl/sb-simple-streams/socket.lisp lib/sbcl/sb-simple-streams/strategy.fasl lib/sbcl/sb-simple-streams/strategy.lisp lib/sbcl/sb-simple-streams/string.fasl lib/sbcl/sb-simple-streams/string.lisp lib/sbcl/sb-simple-streams/terminal.fasl lib/sbcl/sb-simple-streams/terminal.lisp lib/sbcl/sb-simple-streams/test-data.tmp lib/sbcl/sb-simple-streams/test-passed lib/sbcl/sb-sprof/sb-sprof.fasl lib/sbcl/sbcl.core @exec mkdir -p %D/lib/sbcl/site-systems @exec mkdir -p %D/lib/sbcl/sb-posix/test-lab %%PORTDOCS%%@dirrm %%DOCSDIR%%/html/sbcl %%PORTDOCS%%@dirrm %%DOCSDIR%%/html/asdf %%PORTDOCS%%@dirrm %%DOCSDIR%%/html @dirrm %%DOCSDIR%% @dirrm lib/sbcl/site-systems @dirrm lib/sbcl/sb-sprof @dirrm lib/sbcl/sb-simple-streams @dirrm lib/sbcl/sb-rt @dirrm lib/sbcl/sb-rotate-byte @dirrm lib/sbcl/sb-posix/test-lab @dirrm lib/sbcl/sb-posix @dirrm lib/sbcl/sb-md5 @dirrm lib/sbcl/sb-introspect @dirrm lib/sbcl/sb-grovel @dirrm lib/sbcl/sb-executable @dirrm lib/sbcl/sb-cltl2 @dirrm lib/sbcl/sb-bsd-sockets @dirrm lib/sbcl/sb-aclrepl @dirrm lib/sbcl/asdf-install @dirrm lib/sbcl/asdf @dirrm lib/sbcl Property changes on: head/lang/sbcl/pkg-plist ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.23 \ No newline at end of property +1.24 \ No newline at end of property