Andy Wingo wrote:
> On Fri 20 May 2011 20:41, Marco Maggi <[email protected]> writes:
>> Andy Wingo wrote:
>>> Thanks. You seem to be running on system in which the
>>> stack grows up. Is that the case? Check
>>> libguile/scmconfig.h and config.log.
>> Yes, I have:
>> #define SCM_STACK_GROWS_UP 1 /* 0 or 1 */
>> in "scmconfig.h"; my system is just a i686-pc-linux-gnu.
> But on those systems, the stack grows down, no?
> I suggest that this is a configuration error somehow. Check your
> config.log.
Someone left ACTION-IF-FALSE empty and also left the test
without "checking" message in this chunk of "configure.ac":
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)])
so I can only guess that what happens is described by the
following chunk of "config.log":
configure:39214: checking for iconveh_escape_sequence
configure:39232: gcc -o conftest -O3 -march=i686 -mtune=i686 conftest.c
-lcrypt -lm >&5
configure:39232: $? = 0
configure:39232: ./conftest
configure:39232: $? = 0
configure:39234: result: 2
configure:39295: gcc -o conftest -O3 -march=i686 -mtune=i686 conftest.c
-lcrypt -lm >&5
configure:39295: $? = 0
configure:39295: ./conftest
configure:39295: $? = 0
configure:39310: checking for BDW_GC
the test between "checking for iconveh_escape_sequence" and
"checking for BDW_GC"; the exit status is zero, which causes
the variable to be correctly set to:
SCM_I_GSC_STACK_GROWS_UP='1'
maybe the problem is that GCC 4.6.0 with -O3 optimises the
program in such a way that the test is invalidated.
--
Marco Maggi