guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug#481378: Guile-1.8 FTBFS on mips (and other architectures)


From: Neil Jerram
Subject: Re: Bug#481378: Guile-1.8 FTBFS on mips (and other architectures)
Date: Wed, 28 May 2008 23:02:12 +0100

2008/5/28 Thiemo Seufer <address@hidden>:
>
> After a closer look I believe the logic of the test is just plain wrong:
>
> aux (l) unsigned long l;
> { int x; exit (l >= ((unsigned long)&x)); }
> main () { int q; aux((unsigned long)&q); },
>
> The test returns true for a downward-growing stack, but that sets
> SCM_I_GSC_STACK_GROWS_UP=1 !

Are you sure you're not missing a step?  According to my
understanding, for a downwards-growing stack:

   &x < l
   => (l >= &x) is TRUE
   => exit status of the test program is non-zero
   => AC_TRY_RUN believes that the test program _failed_
   => SCM_I_GSC_STACK_GROWS_UP stays as 0

> For paranoia reasons I checked that
> the test behaves the same on mips, powerpc and i386.

What exactly do you mean here?  (My guess: that you compiled and ran
the test program by hand, and that the exit status was 1 in each
case?)

> Using "(l < ((unsigned long& ..." does the right thing. Amazingly
> this means the test is wrong on all platforms, and guile appears to
> mostly cope with it. :-)

Unfortunately that is very unlikely, so I'm afraid there is still
something more subtle that we are missing.

Regards,
        Neil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]