[Top][All Lists]

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

Re: stack calibration

From: Andy Wingo
Subject: Re: stack calibration
Date: Mon, 30 Mar 2009 20:39:45 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)

Hi Neil,

On Mon 30 Mar 2009 13:43, Neil Jerram <address@hidden> writes:

> Andy Wingo <address@hidden> writes:
>> Hey Guilers,
> Hi Andy,
> In summary, I'm not sure I'm following the logic here...
>> The recent commit to compile with the stack calibration file,
>> 7ca96180f00800414a9cf855e5ca4dceb9baca07, breaks compilation because the
>> compile scripts have hash-bang lines like this:
>> #!/bin/sh
>> # -*- scheme -*-
>> exec ${GUILE-guile} -e '(@ (scripts compile) compile)' -s $0 "$@"
>> !#
> FWIW, I think this kind of incantation is really horrible. Ditto for
> usage of "guile-tools ...". What kind of a scripting language is it
> that needs to be bootstrapped by a different language?

Dunno. While guile-tools should probably be written in Scheme, it
doesn't bother me. The strange invocation stuff is just to get around
posix's #! limitations -- it should be:

  #!/usr/bin/env guile -e ....

but we all know the problem with that.

As far as needing the -e clause, it's so we can (use-modules (scripts
compile)) in addition to being able to run it as a script. Not that I
use that feature, but it is interesting.

>> Also, it is a bit irritating to have to load a file just so Guile won't
>> be broken (exaggerated wording, but I think that's what it is.)
> I think you may be misunderstanding.  stack-limit-calibration.scm
> should make precisely 0 difference on the "canonical build platform" -
> which in practice means ia32 GNU/Linux.

ia32 GNU/Linux is sometimes broken -- for example, build it with -O0,
and things often don't work at all.

> stack-limit-calibration.scm is all about scaling down/up the hardcoded
> value for a non-canonical platform that might use more or less stack
> on average than the canonical platform - e.g. because it has fewer
> registers, because its pointers are twice the size (ia64) etc.

> The primary purpose of stack-limit-calibration.scm is to allow "make
> check" to succeed on those platforms, and it now makes sense to
> generalize that to any other guile-using operations that we run during
> the build - such as compiling.

You want to actually use Guile after it's installed too of course, and
in those cases stack-calibration.scm doesn't help you.

I think I explained my perspective as well as I can in the other mail --
perhaps we can follow that part of the discussion there?


reply via email to

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