Package: guile-1.6
Version: 1.6.8-6
Severity: serious
Tags: patch
Guile 1.6 fails to build with gcc-4.3 on at least powerpc. The
bootstrap guile segfaults at start time. This is the same problem
as guile 1.8 had in #481378. I adapted the upstream change and
tested the resulting patch. The appended version of it covers only
the configure.in, configure needs to be regenerated afterwards,
which conflicts with a patch from the debian patchset.
Thiemo
--- configure.in~ 2006-05-19 07:02:16.000000000 +0200
+++ configure.in 2008-09-03 21:52:37.000000000 +0200
@@ -521,17 +521,42 @@ GUILE_STRUCT_UTIMBUF
#
# Which way does the stack grow?
#
+# Following code comes from Autoconf 2.61's internal _AC_LIBOBJ_ALLOCA
+# macro (/usr/share/autoconf/autoconf/functions.m4). Gnulib has
+# very similar code, so in future we could look at using that.
+#
+# An important detail is that the code involves find_stack_direction
+# calling _itself_ - which means that find_stack_direction (or at
+# least the second find_stack_direction() call) cannot be inlined.
+# If the code could be inlined, that might cause the test to give
+# an incorrect answer.
#--------------------------------------------------------------------
-AC_TRY_RUN(aux (l) unsigned long l;
- { int x; exit (l >= ((unsigned long)&x)); }
- main () { int q; aux((unsigned long)&q); },
- [AC_DEFINE([SCM_STACK_GROWS_UP], 1,
- [Define this if a callee's stack frame has a higher address
- than the caller's stack frame. On most machines, this is
- not the case.])],
- [],
- [AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h.in)])
+SCM_I_GSC_STACK_GROWS_UP=0
+AC_RUN_IFELSE([AC_LANG_SOURCE(
+[AC_INCLUDES_DEFAULT
+int
+find_stack_direction ()
+{
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+ return find_stack_direction () < 0;
+}])],
+ [SCM_I_GSC_STACK_GROWS_UP=1],
+ [],
+ [AC_MSG_WARN(Guessing that stack grows down -- see scmconfig.h)])
AH_TEMPLATE([SCM_SINGLES],
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]