diff options
author | miwi <miwi@FreeBSD.org> | 2006-12-27 23:17:05 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2006-12-27 23:17:05 +0800 |
commit | 7d3c1aa89b0ec0a00b143bfa56abb51992b0a984 (patch) | |
tree | 7134c546683f416fda917dafa042fb8237e24309 /lang | |
parent | bcef2d5f0e3e2d877e51a33b2d16aae325750195 (diff) | |
download | freebsd-ports-gnome-7d3c1aa89b0ec0a00b143bfa56abb51992b0a984.tar.gz freebsd-ports-gnome-7d3c1aa89b0ec0a00b143bfa56abb51992b0a984.tar.zst freebsd-ports-gnome-7d3c1aa89b0ec0a00b143bfa56abb51992b0a984.zip |
- Update to 1.0.1
PR: ports/107223
Submitted by: NIIMI Satoshi <sa2c@sa2c.net> (maintainer)
Diffstat (limited to 'lang')
-rw-r--r-- | lang/sbcl/Makefile | 12 | ||||
-rw-r--r-- | lang/sbcl/distinfo | 15 | ||||
-rw-r--r-- | lang/sbcl/files/patch-freebsd-amd64 | 657 | ||||
-rw-r--r-- | lang/sbcl/files/patch-futex | 370 | ||||
-rw-r--r-- | lang/sbcl/files/patch-src_runtime_thread.c | 13 | ||||
-rw-r--r-- | lang/sbcl/pkg-plist | 344 |
6 files changed, 9 insertions, 1402 deletions
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index d68df96e90c4..1f0221308df8 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -6,15 +6,11 @@ # PORTNAME= sbcl -PORTVERSION= 1.0 -PORTREVISION= 1 +PORTVERSION= 1.0.1 CATEGORIES= lang lisp MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= sbcl DISTFILES= ${DISTNAME}-source${EXTRACT_SUFX} -.if !defined(NOPORTDOCS) -DISTFILES+= ${DISTNAME}-documentation-html${EXTRACT_SUFX} -.endif MAINTAINER= sa2c@sa2c.net COMMENT= A Common Lisp development system derived from the CMU CL system @@ -38,9 +34,9 @@ INFODIR= ${PREFIX}/${INFO_PATH} .if defined(WITH_SBCL) LISP_CMD= "" .else -BOOT_VERSION= 0.9.16 +BOOT_VERSION= ${PORTVERSION} BOOT_ARCH= x86 -BOOT_OS= ${OPSYS:L} +BOOT_OS= freebsd4 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" @@ -82,9 +78,7 @@ 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) diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo index 8aa20a3f6572..c54540678c6a 100644 --- a/lang/sbcl/distinfo +++ b/lang/sbcl/distinfo @@ -1,9 +1,6 @@ -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 +MD5 (sbcl-1.0.1-source.tar.bz2) = fe02f498620bce61a8688d4557a405b0 +SHA256 (sbcl-1.0.1-source.tar.bz2) = 91ca14366b1363d3fa745a91a93005eaca74235d9225936d80b1d34116e76e5a +SIZE (sbcl-1.0.1-source.tar.bz2) = 2902375 +MD5 (sbcl-1.0.1-x86-freebsd4-binary.tar.bz2) = b1582532c4106c313413c15bd87d2866 +SHA256 (sbcl-1.0.1-x86-freebsd4-binary.tar.bz2) = 05c7bdfc1779b9d93b4921912d2d981a181b6bbbd921d38779bca4cb334214e6 +SIZE (sbcl-1.0.1-x86-freebsd4-binary.tar.bz2) = 7682276 diff --git a/lang/sbcl/files/patch-freebsd-amd64 b/lang/sbcl/files/patch-freebsd-amd64 deleted file mode 100644 index 58c25cc17381..000000000000 --- a/lang/sbcl/files/patch-freebsd-amd64 +++ /dev/null @@ -1,657 +0,0 @@ ---- 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 <signal.h> - /* #include <sys/sysinfo.h> */ - #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 <sys/sysctl.h> --#include <osreldate.h> - - 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 <stdio.h> -+#include <stdlib.h> - #include <ctype.h> - #include <signal.h> - ---- 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 <stdio.h> -+#include <string.h> - - #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 <machine/segments.h> - #include <machine/cpufunc.h> - #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 <signal.h> -+#include "sbcl.h" -+#include "runtime.h" -+#include "thread.h" -+#include "lispregs.h" -+ -+#if defined(LISP_FEATURE_FREEBSD) -+#include <machine/fpu.h> -+#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 <machine/segments.h> -+#include <machine/cpufunc.h> -+#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 */ ---- src/runtime/x86-64-arch.c Thu Nov 30 19:20:11 2006 +0900 -+++ src/runtime/x86-64-arch.c Sun Dec 03 02:26:51 2006 +0900 -@@ -308,6 +308,56 @@ sigill_handler(int signal, siginfo_t *si - lose("fake_foreign_function_call fell through"); - } - -+#ifdef X86_64_SIGFPE_FIXUP -+#define MXCSR_IE (0x01) /* Invalid Operation */ -+#define MXCSR_DE (0x02) /* Denormal */ -+#define MXCSR_ZE (0x04) /* Devide-by-Zero */ -+#define MXCSR_OE (0x08) /* Overflow */ -+#define MXCSR_UE (0x10) /* Underflow */ -+#define MXCSR_PE (0x20) /* Precision */ -+ -+static inline int -+mxcsr_to_code(unsigned int mxcsr) -+{ -+ /* Extract unmasked exception bits. */ -+ mxcsr &= ~(mxcsr >> 7) & 0x3F; -+ -+ /* This order is defined at "Intel 64 and IA-32 Architectures -+ * Software Developerfs Manual" Volume 1: "Basic Architecture", -+ * 4.9.2 "Floating-Point Exception Priority". */ -+ if (mxcsr & MXCSR_IE) -+ return FPE_FLTINV; -+ else if (mxcsr & MXCSR_ZE) -+ return FPE_FLTDIV; -+ else if (mxcsr & MXCSR_DE) -+ return FPE_FLTUND; -+ else if (mxcsr & MXCSR_OE) -+ return FPE_FLTOVF; -+ else if (mxcsr & MXCSR_UE) -+ return FPE_FLTUND; -+ else if (mxcsr & MXCSR_PE) -+ return FPE_FLTRES; -+ -+ return 0; -+} -+ -+static void -+sigfpe_handler(int signal, siginfo_t *siginfo, void *void_context) -+{ -+ os_context_t *context = arch_os_get_context(&void_context); -+ unsigned int *mxcsr = arch_os_context_mxcsr_addr(context); -+ -+ if (siginfo->si_code == 0) { /* XMM exception */ -+ siginfo->si_code = mxcsr_to_code(*mxcsr); -+ -+ /* Clear sticky exception flag. */ -+ *mxcsr &= ~0x3F; -+ } -+ -+ interrupt_handle_now(signal, siginfo, context); -+} -+#endif -+ - void - arch_install_interrupt_handlers() - { -@@ -325,6 +375,9 @@ arch_install_interrupt_handlers() - * why.. -- WHN 2001-06-07 */ - undoably_install_low_level_interrupt_handler(SIGILL , sigill_handler); - undoably_install_low_level_interrupt_handler(SIGTRAP, sigtrap_handler); -+#ifdef X86_64_SIGFPE_FIXUP -+ undoably_install_low_level_interrupt_handler(SIGFPE, sigfpe_handler); -+#endif - - SHOW("returning from arch_install_interrupt_handlers()"); - } ---- src/runtime/x86-64-bsd-os.h Thu Nov 30 19:20:11 2006 +0900 -+++ src/runtime/x86-64-bsd-os.h Sun Dec 03 02:26:51 2006 +0900 -@@ -2,8 +2,7 @@ - #define _X86_64_BSD_OS_H - - #ifdef LISP_FEATURE_FREEBSD --#include <machine/segments.h> --#include <machine/cpufunc.h> -+#include <machine/fpu.h> - #endif - - typedef register_t os_context_register_t; -@@ -29,6 +28,16 @@ static inline os_context_t *arch_os_get_ - #if defined LISP_FEATURE_FREEBSD - #define RESTORE_FP_CONTROL_FROM_CONTEXT - void os_restore_fp_control(os_context_t *context); -+ -+/* FreeBSD does not setup si_code on XMM exception. */ -+#define X86_64_SIGFPE_FIXUP -+ -+static inline unsigned int * -+arch_os_context_mxcsr_addr(os_context_t *context) -+{ -+ struct envxmm *ex = (struct envxmm *)(&context->uc_mcontext.mc_fpstate); -+ return &ex->en_mxcsr; -+} - #endif - - #endif /* _X86_64_BSD_OS_H */ diff --git a/lang/sbcl/files/patch-futex b/lang/sbcl/files/patch-futex deleted file mode 100644 index 9533a5ba0e6c..000000000000 --- a/lang/sbcl/files/patch-futex +++ /dev/null @@ -1,370 +0,0 @@ ---- make-config.sh Thu Nov 30 02:36:43 2006 +0000 -+++ make-config.sh Sat Dec 09 13:57:31 2006 +0900 -@@ -191,8 +191,9 @@ case "$sbcl_os" in - freebsd) - printf ' :elf' >> $ltf - printf ' :freebsd' >> $ltf -+ printf ' :sb-pthread-futex' >> $ltf - if [ $sbcl_arch = "x86" ]; then -- printf ' :sb-lutex :restore-tls-segment-register-from-tls' >> $ltf -+ printf ' :restore-tls-segment-register-from-tls' >> $ltf - fi - link_or_copy Config.$sbcl_arch-freebsd Config - ;; ---- src/runtime/GNUmakefile Thu Nov 30 02:36:43 2006 +0000 -+++ src/runtime/GNUmakefile Sat Dec 09 13:58:56 2006 +0900 -@@ -40,7 +40,8 @@ include Config - - COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c \ - dynbind.c gc-common.c globals.c interr.c interrupt.c largefile.c \ -- monitor.c os-common.c parse.c print.c purify.c pthread-lutex.c \ -+ monitor.c os-common.c parse.c print.c purify.c \ -+ pthread-futex.c pthread-lutex.c \ - regnames.c run-program.c runtime.c save.c search.c \ - thread.c time.c util.c validate.c vars.c wrap.c - ---- src/runtime/linux-os.c Thu Nov 30 02:36:43 2006 +0000 -+++ src/runtime/linux-os.c Sat Dec 09 13:56:27 2006 +0900 -@@ -62,7 +62,7 @@ int personality (unsigned long); - - size_t os_vm_page_size; - --#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_LUTEX) -+#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_LUTEX) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) - #include <sys/syscall.h> - #include <unistd.h> - #include <errno.h> -@@ -145,7 +145,7 @@ os_init(char *argv[], char *envp[]) - { - /* Conduct various version checks: do we have enough mmap(), is - * this a sparc running 2.2, can we do threads? */ --#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_LUTEX) -+#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_LUTEX) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) - int *futex=0; - #endif - struct utsname name; -@@ -171,7 +171,7 @@ os_init(char *argv[], char *envp[]) - #endif - } - #ifdef LISP_FEATURE_SB_THREAD --#if !defined(LISP_FEATURE_SB_LUTEX) -+#if !defined(LISP_FEATURE_SB_LUTEX) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) - futex_wait(futex,-1); - if(errno==ENOSYS) { - lose("This version of SBCL is compiled with threading support, but your kernel\n" ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ src/runtime/pthread-futex.c Sat Dec 09 13:56:27 2006 +0900 -@@ -0,0 +1,313 @@ -+/* An approximation of Linux futexes implemented using pthread mutexes -+ * and pthread condition variables. -+ */ -+ -+/* -+ * This software is part of the SBCL system. See the README file for -+ * more information. -+ * -+ * The software is in the public domain and is provided with -+ * absolutely no warranty. See the COPYING and CREDITS files for more -+ * information. -+ */ -+ -+#include "sbcl.h" -+ -+#if defined(LISP_FEATURE_SB_THREAD) && defined(LISP_FEATURE_SB_PTHREAD_FUTEX) -+ -+#include <errno.h> -+#include <pthread.h> -+#include <stdlib.h> -+ -+#include "runtime.h" -+#include "arch.h" -+#include "target-arch-os.h" -+#include "os.h" -+ -+#define FUTEX_WAIT_NSEC (10000000) /* 10 msec */ -+ -+#if 1 -+# define futex_assert(ex) \ -+do { \ -+ if (!(ex)) futex_abort(); \ -+} while (0) -+# define futex_assert_verbose(ex, fmt, ...) \ -+do { \ -+ if (!(ex)) { \ -+ fprintf(stderr, fmt, ## __VA_ARGS__); \ -+ futex_abort(); \ -+ } \ -+} while (0) -+#else -+# define futex_assert(ex) -+# define futex_assert_verbose(ex, fmt, ...) -+#endif -+ -+#define futex_abort() \ -+ lose("Futex assertion failure, file \"%s\", line %d\n", __FILE__, __LINE__) -+ -+struct futex { -+ struct futex *prev; -+ struct futex *next; -+ int *lock_word; -+ pthread_mutex_t mutex; -+ pthread_cond_t cond; -+ int count; -+}; -+ -+static pthread_mutex_t futex_lock = PTHREAD_MUTEX_INITIALIZER; -+ -+static struct futex *futex_head = NULL; -+static struct futex *futex_free_head = NULL; -+ -+static struct futex * -+futex_add(struct futex *head, struct futex *futex) -+{ -+ futex->prev = NULL; -+ futex->next = head; -+ if (head != NULL) -+ head->prev = futex; -+ head = futex; -+ -+ return head; -+} -+ -+static struct futex * -+futex_delete(struct futex *head, struct futex *futex) -+{ -+ if (head == futex) -+ head = futex->next; -+ if (futex->prev != NULL) -+ futex->prev->next = futex->next; -+ if (futex->next != NULL) -+ futex->next->prev = futex->prev; -+ -+ return head; -+} -+ -+static struct futex * -+futex_find(struct futex *head, int *lock_word) -+{ -+ struct futex *futex; -+ -+ for (futex = head; futex != NULL; futex = futex->next) { -+ if (futex->lock_word == lock_word) -+ break; -+ } -+ -+ return futex; -+} -+ -+static struct futex * -+futex_get(int *lock_word) -+{ -+ int ret; -+ struct futex *futex; -+ -+ ret = pthread_mutex_lock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ futex = futex_find(futex_head, lock_word); -+ -+ if (futex != NULL) -+ futex->count++; -+ -+ ret = pthread_mutex_unlock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ if (futex != NULL) { -+ ret = pthread_mutex_lock(&futex->mutex); -+ futex_assert(ret == 0); -+ } -+ -+ return futex; -+} -+ -+static struct futex * -+futex_allocate(int *lock_word) -+{ -+ int ret; -+ struct futex *futex; -+ -+ ret = pthread_mutex_lock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ futex = futex_free_head; -+ -+ if (futex != NULL) -+ futex_free_head = futex_delete(futex_free_head, futex); -+ -+ ret = pthread_mutex_unlock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ if (futex == NULL) { -+ futex = malloc(sizeof(struct futex)); -+ futex_assert(futex != NULL); -+ -+ ret = pthread_mutex_init(&futex->mutex, NULL); -+ futex_assert(ret == 0); -+ -+ ret = pthread_cond_init(&futex->cond, NULL); -+ futex_assert(ret == 0); -+ } -+ -+ futex->lock_word = lock_word; -+ futex->count = 1; -+ -+ /* Lock mutex before register to avoid race conditions. */ -+ ret = pthread_mutex_lock(&futex->mutex); -+ futex_assert(ret == 0); -+ -+ ret = pthread_mutex_lock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ futex_head = futex_add(futex_head, futex); -+ -+ ret = pthread_mutex_unlock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ return futex; -+} -+ -+static void -+futex_cleanup(void *p) -+{ -+ struct futex *futex = (struct futex *)p; -+ int ret, count; -+ -+ ret = pthread_mutex_lock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ count = --futex->count; -+ if (count <= 0) { -+ futex_head = futex_delete(futex_head, futex); -+ futex_free_head = futex_add(futex_free_head, futex); -+ } -+ -+ ret = pthread_mutex_unlock(&futex_lock); -+ futex_assert(ret == 0); -+ -+ ret = pthread_mutex_unlock(&futex->mutex); -+ futex_assert(ret == 0); -+} -+ -+static int -+futex_relative_to_abs(struct timespec *tp, int relative) -+{ -+ int ret; -+ struct timeval tv; -+ -+ ret = gettimeofday(&tv, NULL); -+ if (ret != 0) -+ return ret; -+ tp->tv_sec = tv.tv_sec + (tv.tv_usec * 1000 + relative) / 1000000000; -+ tp->tv_nsec = (tv.tv_usec * 1000 + relative) % 1000000000; -+ return 0; -+} -+ -+int -+futex_wait(int *lock_word, int oldval) -+{ -+ int ret, result; -+ struct futex *futex; -+ sigset_t oldset, newset; -+ -+ sigemptyset(&newset); -+ sigaddset_deferrable(&newset); -+ -+again: -+ pthread_sigmask(SIG_BLOCK, &newset, &oldset); -+ -+ futex = futex_get(lock_word); -+ -+ if (futex == NULL) -+ futex = futex_allocate(lock_word); -+ -+ pthread_cleanup_push(futex_cleanup, futex); -+ -+ /* Compare lock_word after the lock is aquired to avoid race -+ * conditions. */ -+ if (*(volatile int *)lock_word != oldval) { -+ result = EWOULDBLOCK; -+ goto done; -+ } -+ -+ /* It's not possible to unwind frames across pthread_cond_wait(3). */ -+ for (;;) { -+ int i; -+ sigset_t pendset; -+ struct timespec abstime; -+ -+ ret = futex_relative_to_abs(&abstime, FUTEX_WAIT_NSEC); -+ futex_assert(ret == 0); -+ -+ result = pthread_cond_timedwait(&futex->cond, &futex->mutex, -+ &abstime); -+ futex_assert(result == 0 || result == ETIMEDOUT); -+ -+ if (result != ETIMEDOUT) -+ break; -+ -+ /* futex system call of Linux returns with EINTR errno when -+ * it's interrupted by signals. Check pending signals here to -+ * emulate this behaviour. */ -+ sigpending(&pendset); -+ for (i = 1; i < NSIG; i++) { -+ if (sigismember(&pendset, i) && sigismember(&newset, i)) { -+ result = EINTR; -+ goto done; -+ } -+ } -+ } -+done: -+ ; /* Null statement is required between label and pthread_cleanup_pop. */ -+ pthread_cleanup_pop(1); -+ pthread_sigmask(SIG_SETMASK, &oldset, NULL); -+ -+ /* futex_wake() in linux-os.c loops when futex system call returns -+ * EINTR. */ -+ if (result == EINTR) { -+ sched_yield(); -+ goto again; -+ } -+ -+ return result; -+} -+ -+int -+futex_wake(int *lock_word, int n) -+{ -+ int ret; -+ struct futex *futex; -+ sigset_t newset, oldset; -+ -+ sigemptyset(&newset); -+ sigaddset_deferrable(&newset); -+ -+ pthread_sigmask(SIG_BLOCK, &newset, &oldset); -+ -+ futex = futex_get(lock_word); -+ -+ if (futex != NULL) { -+ pthread_cleanup_push(futex_cleanup, futex); -+ -+ /* The lisp-side code passes N=2**29-1 for a broadcast. */ -+ if (n >= ((1 << 29) - 1)) { -+ /* CONDITION-BROADCAST */ -+ ret = pthread_cond_broadcast(&futex->cond); -+ futex_assert(ret == 0); -+ } else { -+ while (n-- > 0) { -+ ret = pthread_cond_signal(&futex->cond); -+ futex_assert(ret == 0); -+ } -+ } -+ -+ pthread_cleanup_pop(1); -+ } -+ -+ pthread_sigmask(SIG_SETMASK, &oldset, NULL); -+ -+ return 0; -+} -+#endif diff --git a/lang/sbcl/files/patch-src_runtime_thread.c b/lang/sbcl/files/patch-src_runtime_thread.c deleted file mode 100644 index 75387fc2d7b3..000000000000 --- a/lang/sbcl/files/patch-src_runtime_thread.c +++ /dev/null @@ -1,13 +0,0 @@ ---- 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 */ diff --git a/lang/sbcl/pkg-plist b/lang/sbcl/pkg-plist index 4c70e27a140b..c11fbd7a2054 100644 --- a/lang/sbcl/pkg-plist +++ b/lang/sbcl/pkg-plist @@ -3,347 +3,6 @@ %%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/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 @@ -538,9 +197,6 @@ 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 |