Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 2006 07:53:41 +0900 (JST)
From:      NIIMI Satoshi <sa2c@sa2c.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/92398: MAINTAINER: lang/sbcl: update to 0.9.9
Message-ID:  <20060126225341.54D5411476@berkeley.l.sa2c.net>
Resent-Message-ID: <200601262300.k0QN0DY5059752@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         92398
>Category:       ports
>Synopsis:       MAINTAINER: lang/sbcl: update to 0.9.9
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 26 23:00:12 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     NIIMI Satoshi
>Release:        FreeBSD 6.0-RELEASE-p4 i386
>Organization:
>Environment:
System: FreeBSD berkeley.l.sa2c.net 6.0-RELEASE-p4 FreeBSD 6.0-RELEASE-p4 #2: Wed Jan 25 20:26:06 JST 2006 root@berkeley.l.sa2c.net:/usr/obj/usr/src/sys/GENERIC i386
	
>Description:
Update lang/sbcl to 0.9.9.
	
>How-To-Repeat:
	
>Fix:
Please note to exec "cvs rm -f files/patch-sigsegv" before commit.
	

--- sbcl.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.27
diff -u -r1.27 Makefile
--- Makefile	28 Dec 2005 13:35:28 -0000	1.27
+++ Makefile	26 Jan 2006 19:51:17 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	sbcl
-PORTVERSION=	0.9.8
+PORTVERSION=	0.9.9
 CATEGORIES=	lang lisp
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	sbcl
@@ -28,7 +28,7 @@
 BUILD_DEPENDS=	lisp:${PORTSDIR}/lang/cmucl
 LISP_CMD=	"lisp -noinit -batch"
 .else
-BOOT_VERSION=	${PORTVERSION}
+BOOT_VERSION=	0.9.8
 .endif
 
 USE_REINPLACE=	yes
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.17
diff -u -r1.17 distinfo
--- distinfo	28 Dec 2005 13:35:28 -0000	1.17
+++ distinfo	26 Jan 2006 19:51:22 -0000
@@ -1,9 +1,9 @@
-MD5 (sbcl-0.9.8-source.tar.bz2) = 4a8a3de71aff073b4e23e5bc2e432b27
-SHA256 (sbcl-0.9.8-source.tar.bz2) = 08a02e2db4a20446282cd6475d17aaf2625a35080f5bac5e7833fe31186bb2d6
-SIZE (sbcl-0.9.8-source.tar.bz2) = 2674853
-MD5 (sbcl-0.9.8-html.tar.bz2) = 598bc9c1fe88b8ea0d97082fc528fba4
-SHA256 (sbcl-0.9.8-html.tar.bz2) = 4edd847864f1ac0b1e9d039d0559d2d534540bd66d0c71d25b0bb8723c97502d
-SIZE (sbcl-0.9.8-html.tar.bz2) = 119641
+MD5 (sbcl-0.9.9-source.tar.bz2) = 4aafb2ce07bd7933f7edec29b404a595
+SHA256 (sbcl-0.9.9-source.tar.bz2) = 117762d02aa4748964c814fb20b0481322fdec1948b748c9159b0942a675eb8c
+SIZE (sbcl-0.9.9-source.tar.bz2) = 2695081
+MD5 (sbcl-0.9.9-html.tar.bz2) = a884ab78a3e4f5ecc516fc7197fe2fd6
+SHA256 (sbcl-0.9.9-html.tar.bz2) = 324c36660f37f9cbccab9c07d4f714f761b177350585d34c3d890c9f4557f0b6
+SIZE (sbcl-0.9.9-html.tar.bz2) = 119734
 MD5 (sbcl-0.9.8-i386-freebsd-binary.tar.bz2) = 8012db9ebc4d06b93e934ca94fb9f1fe
 SHA256 (sbcl-0.9.8-i386-freebsd-binary.tar.bz2) = 87332cf3e51910eabe195cf70b32669083d1b49b419b191e0b901354401d1f45
 SIZE (sbcl-0.9.8-i386-freebsd-binary.tar.bz2) = 7250813
Index: files/patch-backtrace
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/files/patch-backtrace,v
retrieving revision 1.1
diff -u -r1.1 patch-backtrace
--- files/patch-backtrace	8 Oct 2005 18:21:19 -0000	1.1
+++ files/patch-backtrace	26 Jan 2006 02:28:47 -0000
@@ -1,17 +1,117 @@
 Index: src/code/debug-int.lisp
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/src/code/debug-int.lisp,v
-retrieving revision 1.97
-diff -u -r1.97 debug-int.lisp
---- src/code/debug-int.lisp	14 Jul 2005 16:30:31 -0000	1.97
-+++ src/code/debug-int.lisp	27 Aug 2005 01:36:06 -0000
-@@ -572,6 +572,9 @@
-    ;; 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)
-+   ;; On FreeBSD, kernel area is not valid as return address.
-+   ;; FIXME: How to obtain the address instead of magic number?
-+   #!+freebsd (< (sap-int ra) #xC0000000)
+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	26 Jan 2006 01:59:07 -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.31
+diff -u -r1.31 bsd-os.c
+--- src/runtime/bsd-os.c	22 Jan 2006 18:55:07 -0000	1.31
++++ src/runtime/bsd-os.c	26 Jan 2006 01:59:07 -0000
+@@ -53,6 +53,8 @@
+ 
+ #ifdef __FreeBSD__
+ #include <sys/sysctl.h>
++#include <link.h>
++#include <dlfcn.h>
+ 
+ static void freebsd_init();
+ #endif /* __FreeBSD__ */
+@@ -311,6 +313,25 @@
+         fast_bzero_pointer = fast_bzero_base;
+     }
+ #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.18
+diff -u -r1.18 globals.c
+--- src/runtime/globals.c	14 Jul 2005 15:41:11 -0000	1.18
++++ src/runtime/globals.c	26 Jan 2006 01:59:07 -0000
+@@ -16,6 +16,7 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <limits.h>
+ 
+ #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.25
+diff -u -r1.25 globals.h
+--- src/runtime/globals.h	14 Jul 2005 15:41:11 -0000	1.25
++++ src/runtime/globals.h	26 Jan 2006 01:59:07 -0000
+@@ -99,4 +99,7 @@
+ 
+ #endif /* LANGUAGE_ASSEMBLY */
+ 
++extern unsigned long user_space_start;
++extern unsigned long user_space_end;
++
+ #endif /* _INCLUDED_GLOBALS_H_ */
Index: files/patch-floating-point
===================================================================
RCS file: /home/ncvs/ports/lang/sbcl/files/patch-floating-point,v
retrieving revision 1.1
diff -u -r1.1 patch-floating-point
--- files/patch-floating-point	8 Oct 2005 18:21:19 -0000	1.1
+++ files/patch-floating-point	26 Jan 2006 20:43:34 -0000
@@ -1,10 +1,10 @@
 Index: src/code/float-trap.lisp
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/src/code/float-trap.lisp,v
-retrieving revision 1.18
-diff -u -r1.18 float-trap.lisp
---- src/code/float-trap.lisp	14 Jul 2005 16:30:34 -0000	1.18
-+++ src/code/float-trap.lisp	27 Sep 2005 22:36:42 -0000
+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
 @@ -153,10 +153,28 @@
    `(not (zerop (logand ,(dpb (float-trap-mask traps) float-traps-byte 0)
                         (floating-point-modes)))))
@@ -38,12 +38,12 @@
 Index: src/code/target-signal.lisp
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/src/code/target-signal.lisp,v
-retrieving revision 1.28
-diff -u -r1.28 target-signal.lisp
---- src/code/target-signal.lisp	4 Sep 2005 20:14:49 -0000	1.28
-+++ src/code/target-signal.lisp	27 Sep 2005 22:36:42 -0000
-@@ -149,6 +149,10 @@
- 
+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 @@
+ 
  ;;;; etc.
  
 +;;; extract si_code from siginfo_t
@@ -56,20 +56,20 @@
 Index: src/runtime/interrupt.c
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
-retrieving revision 1.94
-diff -u -r1.94 interrupt.c
---- src/runtime/interrupt.c	13 Sep 2005 12:28:41 -0000	1.94
-+++ src/runtime/interrupt.c	27 Sep 2005 22:36:42 -0000
-@@ -426,7 +426,7 @@
-     if (sigismember(&deferrable_sigset,signal))
+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. */
-@@ -606,7 +606,7 @@
+@@ -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;
@@ -78,7 +78,7 @@
      os_restore_fp_control(context);
  #endif
      if(maybe_defer_handler(interrupt_handle_now,data,signal,info,context))
-@@ -623,7 +623,7 @@
+@@ -661,7 +661,7 @@
  {
      os_context_t *context = (os_context_t*)void_context;
  
@@ -87,7 +87,7 @@
      os_restore_fp_control(context);
  #endif
      check_blockables_blocked_or_lose();
-@@ -641,7 +641,7 @@
+@@ -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;
@@ -96,9 +96,9 @@
      os_restore_fp_control(context);
  #endif
      if(maybe_defer_handler(low_level_interrupt_handle_now,data,
-@@ -1139,3 +1139,9 @@
- 
+@@ -1276,3 +1276,9 @@
      SHOW("returning from interrupt_init()");
+ #endif
  }
 +
 +int
@@ -109,11 +109,11 @@
 Index: src/runtime/x86-arch.c
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/src/runtime/x86-arch.c,v
-retrieving revision 1.32
-diff -u -r1.32 x86-arch.c
---- src/runtime/x86-arch.c	27 Sep 2005 15:52:50 -0000	1.32
-+++ src/runtime/x86-arch.c	27 Sep 2005 22:36:42 -0000
-@@ -229,7 +229,7 @@
+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 */
@@ -128,7 +128,7 @@
 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	27 Sep 2005 22:36:42 -0000
++++ src/runtime/x86-bsd-os.c	26 Jan 2006 20:43:33 -0000
 @@ -85,6 +85,52 @@
  #endif  /* __NetBSD__ */
  
@@ -185,11 +185,11 @@
 Index: tools-for-build/grovel-headers.c
 ===================================================================
 RCS file: /cvsroot/sbcl/sbcl/tools-for-build/grovel-headers.c,v
-retrieving revision 1.10
-diff -u -r1.10 grovel-headers.c
---- tools-for-build/grovel-headers.c	14 Jul 2005 20:24:19 -0000	1.10
-+++ tools-for-build/grovel-headers.c	27 Sep 2005 22:36:42 -0000
-@@ -223,5 +223,15 @@
+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 @@
      defsignal("sigxcpu", SIGXCPU);
      defsignal("sigxfsz", SIGXFSZ);
  #endif
@@ -203,5 +203,6 @@
 +    defconstant("fpe-fltinv", FPE_FLTINV);
 +    defconstant("fpe-fltsub", FPE_FLTSUB);
 +#endif
+ #endif // _WIN32
      return 0;
  }
Index: files/patch-sigsegv
===================================================================
RCS file: files/patch-sigsegv
diff -N files/patch-sigsegv
--- files/patch-sigsegv	28 Dec 2005 13:35:28 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,61 +0,0 @@
-Index: src/runtime/bsd-os.c
-===================================================================
-RCS file: /cvsroot/sbcl/sbcl/src/runtime/bsd-os.c,v
-retrieving revision 1.29
-diff -u -r1.29 bsd-os.c
---- src/runtime/bsd-os.c	4 Dec 2005 22:25:07 -0000	1.29
-+++ src/runtime/bsd-os.c	28 Dec 2005 01:24:17 -0000
-@@ -204,6 +204,10 @@
-     SHOW("os_install_interrupt_handlers()/bsd-os/defined(GENCGC)");
-     undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT,
-                                                  memory_fault_handler);
-+#ifdef SIG_MEMORY_FAULT2
-+    undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT2,
-+                                                 memory_fault_handler);
-+#endif
-     SHOW("leaving os_install_interrupt_handlers()");
- }
- 
-@@ -230,6 +234,10 @@
-     SHOW("os_install_interrupt_handlers()/bsd-os/!defined(GENCGC)");
-     undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT,
-                                                  sigsegv_handler);
-+#ifdef SIG_MEMORY_FAULT2
-+    undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT2,
-+                                                 sigsegv_handler);
-+#endif
- }
- 
- #endif /* defined GENCGC */
-Index: src/runtime/bsd-os.h
-===================================================================
-RCS file: /cvsroot/sbcl/sbcl/src/runtime/bsd-os.h,v
-retrieving revision 1.14
-diff -u -r1.14 bsd-os.h
---- src/runtime/bsd-os.h	17 Apr 2005 19:41:28 -0000	1.14
-+++ src/runtime/bsd-os.h	28 Dec 2005 01:24:17 -0000
-@@ -55,6 +55,7 @@
-  * so we need to implement single stepping in a more roundabout way. */
- #define CANNOT_GET_TO_SINGLE_STEP_FLAG
- #define SIG_MEMORY_FAULT SIGBUS
-+#define SIG_MEMORY_FAULT2 SIGSEGV
- 
- #elif defined __OpenBSD__
- 
-Index: src/runtime/interrupt.c
-===================================================================
-RCS file: /cvsroot/sbcl/sbcl/src/runtime/interrupt.c,v
-retrieving revision 1.106
-diff -u -r1.106 interrupt.c
---- src/runtime/interrupt.c	4 Dec 2005 22:25:07 -0000	1.106
-+++ src/runtime/interrupt.c	28 Dec 2005 01:24:17 -0000
-@@ -1140,6 +1140,9 @@
-         (sigaction_nodefer_works ? SA_NODEFER : 0);
- #ifdef LISP_FEATURE_C_STACK_IS_CONTROL_STACK
-     if((signal==SIG_MEMORY_FAULT)
-+#ifdef SIG_MEMORY_FAULT2
-+       || (signal==SIG_MEMORY_FAULT2)
-+#endif
- #ifdef SIG_INTERRUPT_THREAD
-        || (signal==SIG_INTERRUPT_THREAD)
- #endif
--- sbcl.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060126225341.54D5411476>