From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: stack calibration Date: Mon, 30 Mar 2009 20:39:45 -0700 Message-ID: References: <87d4bypwqv.fsf@arudy.ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1238471201 26654 80.91.229.12 (31 Mar 2009 03:46:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 31 Mar 2009 03:46:41 +0000 (UTC) Cc: guile-devel To: Neil Jerram Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Mar 31 05:47:59 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LoUxB-0002Yr-Dj for guile-devel@m.gmane.org; Tue, 31 Mar 2009 05:47:57 +0200 Original-Received: from localhost ([127.0.0.1]:56106 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LoUvo-0002UH-0q for guile-devel@m.gmane.org; Mon, 30 Mar 2009 23:46:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LoUvh-0002TF-7t for guile-devel@gnu.org; Mon, 30 Mar 2009 23:46:25 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LoUvc-0002Qy-RJ for guile-devel@gnu.org; Mon, 30 Mar 2009 23:46:24 -0400 Original-Received: from [199.232.76.173] (port=52263 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LoUvc-0002Qn-EY for guile-devel@gnu.org; Mon, 30 Mar 2009 23:46:20 -0400 Original-Received: from a-sasl-quonix.sasl.smtp.pobox.com ([208.72.237.25]:44714 helo=sasl.smtp.pobox.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LoUva-00046z-R8 for guile-devel@gnu.org; Mon, 30 Mar 2009 23:46:19 -0400 Original-Received: from localhost.localdomain (unknown [127.0.0.1]) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id 51097AE34; Mon, 30 Mar 2009 23:46:18 -0400 (EDT) Original-Received: from unquote (unknown [75.84.114.170]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTPSA id 46E2BAE33; Mon, 30 Mar 2009 23:46:15 -0400 (EDT) In-Reply-To: <87d4bypwqv.fsf@arudy.ossau.uklinux.net> (Neil Jerram's message of "Mon, 30 Mar 2009 21:43:36 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) X-Pobox-Relay-ID: 7DF9293E-1DA6-11DE-8F41-C5D912508E2D-02397024!a-sasl-quonix.pobox.com X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8355 Archived-At: Hi Neil, On Mon 30 Mar 2009 13:43, Neil Jerram writes: > Andy Wingo 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? Andy -- http://wingolog.org/