Package: gauche
Version: 0.8.7-1
Tags: patch
Our automated buildd log filter [1] detected a problem that will cause
your package to segfault on architectures such as ia64:
Function `crypt' implicitly converted to pointer at syslib.c:2533
[1] http://people.debian.org/~dannf/check-implicit-pointer-functions
In addition, src/read.c:ref_val() implicitly declares its "ref"
argument as an "int", when it's really a pointer. That causes a crash
in the io2.scm test case. With the patch below applied, "make check"
succeeds on ia64 linux.
Thanks,
--david
--
Mosberger Consulting LLC, http://www.mosberger-consulting.com/
diff -urN gauche-0.8.7/build-tree/src/read.c
gauche-0.8.7-fixed/build-tree/src/read.c
--- gauche-0.8.7/build-tree/src/read.c 2006-01-13 00:37:40.000000000 -0700
+++ gauche-0.8.7-fixed/build-tree/src/read.c 2006-05-24 15:24:33.000000000
-0600
@@ -238,7 +238,7 @@
ctx->pending = Scm_Acons(obj, finisher, ctx->pending);
}
-static ScmObj ref_val(ref)
+static ScmObj ref_val(void *ref)
{
if (!SCM_READ_REFERENCE_REALIZED(ref)) {
Scm_Error("reader encontered unresolved read reference.
Implementation error?");
diff -urN gauche-0.8.7/build-tree/src/syslib.c
gauche-0.8.7-fixed/build-tree/src/syslib.c
--- gauche-0.8.7/build-tree/src/syslib.c 2006-04-12 19:51:48.000000000
-0600
+++ gauche-0.8.7-fixed/build-tree/src/syslib.c 2006-05-24 15:12:14.000000000
-0600
@@ -2514,6 +2514,7 @@
static SCM_DEFINE_SUBR(syslib_sys_ftruncate__STUB, 2, 0,
SCM_OBJ(&syslib_sys_ftruncate__NAME), syslib_sys_ftruncate, NULL, NULL);
#if defined(HAVE_CRYPT)
+#include <crypt.h>
static ScmObj syslib_sys_crypt(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
{
ScmObj key_scm;