Update lang/sbcl to 0.9.14.

PR:		ports/99582
Submitted by:	maintainer
This commit is contained in:
Ion-Mihai Tetcu 2006-06-28 21:52:29 +00:00
parent 3cdf2f3e92
commit 164919462b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=166529
4 changed files with 24 additions and 135 deletions

View file

@ -6,7 +6,7 @@
#
PORTNAME= sbcl
PORTVERSION= 0.9.13
PORTVERSION= 0.9.14
CATEGORIES= lang lisp
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= sbcl

View file

@ -1,9 +1,9 @@
MD5 (sbcl-0.9.13-source.tar.bz2) = 1423210cc88b6c373f1db3dccc76acf6
SHA256 (sbcl-0.9.13-source.tar.bz2) = 624dd895fabf8e34bd2418293bc43bab85688e93433ceb60f91d86123b2ef6e9
SIZE (sbcl-0.9.13-source.tar.bz2) = 2743731
MD5 (sbcl-0.9.13-html.tar.bz2) = 1ba204bd168aab1ef218c4618602a994
SHA256 (sbcl-0.9.13-html.tar.bz2) = 25a1584e30d6086cb1333f1e02a9417b0036e12da08b0daa26fcc0920620835e
SIZE (sbcl-0.9.13-html.tar.bz2) = 123402
MD5 (sbcl-0.9.14-source.tar.bz2) = d37a369e387286a0ceca51dbd8d1b173
SHA256 (sbcl-0.9.14-source.tar.bz2) = 4d2b4b7332aaa55be10ba51443c96b017c758a553ff691f2109d08892fe1cd3d
SIZE (sbcl-0.9.14-source.tar.bz2) = 2757417
MD5 (sbcl-0.9.14-html.tar.bz2) = 3694cc1415092051c98cb62962d2ddaa
SHA256 (sbcl-0.9.14-html.tar.bz2) = 58656f849aedc2b2a40cc0b2508c273971d407071843faec289d6572100a7ea8
SIZE (sbcl-0.9.14-html.tar.bz2) = 123831
MD5 (sbcl-0.9.11-x86-freebsd-binary.tar.bz2) = 61581be9c165e339057e10693b773deb
SHA256 (sbcl-0.9.11-x86-freebsd-binary.tar.bz2) = 38fe44021344726049e7356502cf9e2545bd2e48902b687c817ade70eafb74c1
SIZE (sbcl-0.9.11-x86-freebsd-binary.tar.bz2) = 7470214

View file

@ -4,7 +4,7 @@ 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 26 Jan 2006 20:43:33 -0000
+++ 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)))))
@ -38,11 +38,11 @@ diff -u -r1.19 float-trap.lisp
Index: src/code/target-signal.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/target-signal.lisp,v
retrieving revision 1.33
diff -u -r1.33 target-signal.lisp
--- src/code/target-signal.lisp 17 Oct 2005 09:18:47 -0000 1.33
+++ src/code/target-signal.lisp 26 Jan 2006 20:43:33 -0000
@@ -164,6 +164,10 @@
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.
@ -56,47 +56,11 @@ diff -u -r1.33 target-signal.lisp
Index: src/runtime/interrupt.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
retrieving revision 1.109
diff -u -r1.109 interrupt.c
--- src/runtime/interrupt.c 5 Jan 2006 14:13:14 -0000 1.109
+++ src/runtime/interrupt.c 26 Jan 2006 20:43:33 -0000
@@ -454,7 +454,7 @@
check_interrupts_enabled_or_lose(context);
#endif
-#ifdef LISP_FEATURE_LINUX
+#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
/* Under Linux on some architectures, we appear to have to restore
the FPU control word from the context, as after the signal is
delivered we appear to have a null FPU control word. */
@@ -644,7 +644,7 @@
os_context_t *context = arch_os_get_context(&void_context);
struct thread *thread=arch_os_get_current_thread();
struct interrupt_data *data=thread->interrupt_data;
-#ifdef LISP_FEATURE_LINUX
+#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
os_restore_fp_control(context);
#endif
if(maybe_defer_handler(interrupt_handle_now,data,signal,info,context))
@@ -661,7 +661,7 @@
{
os_context_t *context = (os_context_t*)void_context;
-#ifdef LISP_FEATURE_LINUX
+#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
os_restore_fp_control(context);
#endif
check_blockables_blocked_or_lose();
@@ -679,7 +679,7 @@
os_context_t *context = arch_os_get_context(&void_context);
struct thread *thread=arch_os_get_current_thread();
struct interrupt_data *data=thread->interrupt_data;
-#ifdef LISP_FEATURE_LINUX
+#if defined(LISP_FEATURE_LINUX) || defined(__FreeBSD__)
os_restore_fp_control(context);
#endif
if(maybe_defer_handler(low_level_interrupt_handle_now,data,
@@ -1276,3 +1276,9 @@
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
}
@ -106,90 +70,14 @@ diff -u -r1.109 interrupt.c
+{
+ return info->si_code;
+}
Index: src/runtime/x86-arch.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-arch.c,v
retrieving revision 1.36
diff -u -r1.36 x86-arch.c
--- src/runtime/x86-arch.c 3 Jan 2006 09:52:38 -0000 1.36
+++ src/runtime/x86-arch.c 26 Jan 2006 20:43:33 -0000
@@ -248,7 +248,7 @@
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(__FreeBSD__)
os_restore_fp_control(context);
#endif
Index: src/runtime/x86-bsd-os.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-bsd-os.c,v
retrieving revision 1.7
diff -u -r1.7 x86-bsd-os.c
--- src/runtime/x86-bsd-os.c 14 Jul 2005 15:41:21 -0000 1.7
+++ src/runtime/x86-bsd-os.c 26 Jan 2006 20:43:33 -0000
@@ -85,6 +85,52 @@
#endif /* __NetBSD__ */
+#ifdef __FreeBSD__
+#if __FreeBSD_version >= 500000
+/*
+ * FreeBSD 5.0 or later initializes FPU control word for signal
+ * handler.
+ */
+#include <machine/npx.h>
+
+static __inline__ void
+fldcw(unsigned short cw)
+{
+ __asm__ __volatile__ ("fldcw %0" : : "m" (cw));
+}
+
+void
+os_restore_fp_control(os_context_t *context)
+{
+ union savefpu *addr;
+
+ addr = (union savefpu *)context->uc_mcontext.mc_fpstate;
+ switch (context->uc_mcontext.mc_fpformat) {
+ case _MC_FPFMT_387:
+ /* FPU state is saved by fnsave */
+ fldcw((unsigned short)addr->sv_87.sv_env.en_cw);
+ break;
+ case _MC_FPFMT_XMM:
+ /* FPU/SSE state is saved by fxsave */
+ fldcw(addr->sv_xmm.sv_env.en_cw);
+ break;
+ default:
+ /* No FPU state is saved. */
+ break;
+ }
+}
+#else /* __FreeBSD_version < 500000 */
+/*
+ * FreeBSD befoer 5.0 does not touch FPU control word for signal
+ * handler.
+ */
+void
+os_restore_fp_control(os_context_t *context)
+{
+ /* DO NOTHING */
+}
+#endif /* __FreeBSD_version */
+#endif /* __FreeBSD__ */
/* FIXME: If this can be a no-op on BSD/x86, then it
* deserves a more precise name.
Index: tools-for-build/grovel-headers.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tools-for-build/grovel-headers.c,v
retrieving revision 1.12
diff -u -r1.12 grovel-headers.c
--- tools-for-build/grovel-headers.c 16 Jan 2006 15:39:58 -0000 1.12
+++ tools-for-build/grovel-headers.c 26 Jan 2006 20:43:33 -0000
@@ -234,6 +234,16 @@
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

View file

@ -407,6 +407,7 @@ 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