Update to Guile 1.8.8

Changes in 1.8.8 (since 1.8.7)

* Bugs fixed

** Fix possible buffer overruns when parsing numbers
** Fix random number generator on 64-bit platforms

Previously the `scm_c_random' function would crash or return only 32-bit
worth of randomness.  In addition, the new `scm_c_random64' function
explicitly returns 64 bits of randomness.

** Add missing range checks in `vector-move-left!' and `vector-move-right!'

Previously these procedures could write past the end of a vector.

** Avoid clash with system setjmp/longjmp on IA64
** Don't dynamically link an extension that is already registered
** Fix `wrong type arg' exceptions with IPv6 addresses
** Fix typos in `(srfi srfi-19)'
** Have `(srfi srfi-35)' provide named struct vtables
** Fix C documentation extraction ("snarfing") with recent GCC versions
** Fix some Interix build problems
** Fix Tru64 build problems
** Fix GC-related build issues on Solaris 10 x86 with Sun Studio 12
** Several small documentation fixes
This commit is contained in:
asau 2010-12-25 09:03:41 +00:00
parent 0ecffcbca5
commit 56ad733bed
4 changed files with 21 additions and 85 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.95 2010/04/18 00:31:55 gdt Exp $
# $NetBSD: Makefile,v 1.96 2010/12/25 09:03:41 asau Exp $
DISTNAME= guile-1.8.7
PKGREVISION= 3
DISTNAME= guile-1.8.8
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=guile/}

View file

@ -1,13 +1,13 @@
$NetBSD: distinfo,v 1.43 2010/04/18 00:31:55 gdt Exp $
$NetBSD: distinfo,v 1.44 2010/12/25 09:03:41 asau Exp $
SHA1 (guile-1.8.7.tar.gz) = 24cd2f06439c76d41d982a7384fe8a0fe5313b54
RMD160 (guile-1.8.7.tar.gz) = 3ccd581cff4ad743fc1328597bd8cb241cbd3fd6
Size (guile-1.8.7.tar.gz) = 4026804 bytes
SHA1 (patch-ae) = 8c80dc1eadc069b3123891a4d144cd2b03df07f8
SHA1 (guile-1.8.8.tar.gz) = 548d6927aeda332b117f8fc5e4e82c39a05704f9
RMD160 (guile-1.8.8.tar.gz) = 8ac185a72ad8394b14d5377549e5bbf02889faaa
Size (guile-1.8.8.tar.gz) = 3956654 bytes
SHA1 (patch-ae) = 43ed56936c8871c45ca82d1afef5b2f98b914d32
SHA1 (patch-ag) = 8aeb781ba43597f37b1ce4aaa2fb0baba2e4ce9c
SHA1 (patch-ah) = 351136075aaaab96117fecc7cedc8ee989d8a1e0
SHA1 (patch-ak) = 6639ea95471a76893b0b074dcbfbd139a1571309
SHA1 (patch-al) = 6a5fb3136028bb5a5185ce7174a20d5f9d227e18
SHA1 (patch-am) = 6806103e9887c4df39882fa8e68607fe97392e96
SHA1 (patch-am) = 7a549811ef98f40a6a87f31840109ee2a091489b
SHA1 (patch-an) = 89ee76c4e74a7af3a5e2a8e65d889292de1768f1
SHA1 (patch-ao) = b648826c5e951cd98ca6e2cdf48435cbdba096ff

View file

@ -1,5 +1,3 @@
--- libguile/gc_os_dep.c.orig Fri Jun 26 13:21:44 2009
+++ libguile/gc_os_dep.c Sat Apr 17 13:35:43 2010
--- libguile/gc_os_dep.c.orig 2009-06-26 20:21:44.000000000 +0000
+++ libguile/gc_os_dep.c
@@ -132,7 +132,7 @@ typedef int GC_bool;
@ -39,30 +37,6 @@
*
* MACH_TYPE is a string representation of the machine type.
* OS_TYPE is analogous for the OS.
@@ -706,13 +711,17 @@ scm_get_stack_base ()
extern int etext;
# ifdef SUNOS5
# define OS_TYPE "SUNOS5"
- extern int _etext;
- extern int _end;
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
-# define DATAEND (&_end)
-# ifndef USE_MMAP
+ extern int _etext[];
+ extern int _end[];
+ extern ptr_t GC_SysVGetDataStart();
+# define DATASTART GC_SysVGetDataStart(0x10000, _etext)
+# define DATAEND (_end)
+# if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
# define USE_MMAP
+ /* Otherwise we now use calloc. Mmap may result in the */
+ /* heap interleaved with thread stacks, which can result in */
+ /* excessive blacklisting. Sbrk is unusable since it */
+ /* doesn't interact correctly with the system malloc. */
# endif
# ifdef USE_MMAP
# define HEAP_START (ptr_t)0x40000000
@@ -720,10 +729,18 @@ scm_get_stack_base ()
# define HEAP_START DATAEND
# endif
@ -86,43 +60,6 @@
# include <unistd.h>
# define GETPAGESIZE() sysconf(_SC_PAGESIZE)
/* getpagesize() appeared to be missing from at least one */
@@ -797,15 +814,29 @@ scm_get_stack_base ()
# endif
# ifdef SUNOS5
# define OS_TYPE "SUNOS5"
- extern int etext, _start;
- extern char * GC_SysVGetDataStart();
-# define DATASTART GC_SysVGetDataStart(0x1000, &etext)
-# define STACKBOTTOM ((ptr_t)(&_start))
-/** At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
-/*# define PROC_VDB*/
+ extern int _etext[], _end[];
+ extern ptr_t GC_SysVGetDataStart();
+# define DATASTART GC_SysVGetDataStart(0x1000, _etext)
+# define DATAEND (_end)
+/* # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7, */
+/* but reportedly breaks under 2.8. It appears that the stack */
+/* base is a property of the executable, so this should not break */
+/* old executables. */
+/* HEURISTIC2 probably works, but this appears to be preferable. */
+# include <sys/vm.h>
+# define STACKBOTTOM USRSTACK
+/* At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
+/* It appears to be fixed in 2.8 and 2.9. */
+# ifdef SOLARIS25_PROC_VDB_BUG_FIXED
+# define PROC_VDB
+# endif
# define DYNAMIC_LOADING
-# ifndef USE_MMAP
+# if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
# define USE_MMAP
+ /* Otherwise we now use calloc. Mmap may result in the */
+ /* heap interleaved with thread stacks, which can result in */
+ /* excessive blacklisting. Sbrk is unusable since it */
+ /* doesn't interact correctly with the system malloc. */
# endif
# ifdef USE_MMAP
# define HEAP_START (ptr_t)0x40000000
@@ -994,6 +1025,21 @@ scm_get_stack_base ()
# endif
# endif

View file

@ -1,17 +1,17 @@
$NetBSD: patch-am,v 1.5 2009/04/07 10:53:07 drochner Exp $
--- configure.orig 2008-12-08 18:49:13.000000000 +0100
+++ configure
@@ -34249,7 +34249,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
$NetBSD: patch-am,v 1.6 2010/12/25 09:03:42 asau Exp $
--- configure.orig 2010-12-13 22:29:32.000000000 +0300
+++ configure 2010-12-25 08:12:25.000000000 +0300
@@ -19627,7 +19627,7 @@
# all; specific to MacOS X
# pthread_sigmask - not available on mingw
#
- for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask
+ for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask pthread_attr_get_np
do
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -34610,7 +34610,12 @@ int main ()
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -19820,7 +19820,12 @@
void *start, *end;
size_t size;