Neil Jerram wrote:
> 2008/5/28 Thiemo Seufer <[EMAIL PROTECTED]>:
> >
> > 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
This is what I saw when running the test manually.
> => AC_TRY_RUN believes that the test program _failed_
> => SCM_I_GSC_STACK_GROWS_UP stays as 0
However, config.log shows SCM_I_GSC_STACK_GROWS_UP=1, and that's also
the value used further down the build. Unfortunately the check doesn't
print a message to that effect, so we can't cross-check with other
build logs. (I only ran guile builds on mips.)
> > 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?)
Yes, that's what I meant.
Thiemo
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]