X-Spam-Check-By: sourceware.org X-IronPort-AV: i="3.99,318,1131339600"; d="scan'208"; a="148330744:sNHT23732728" To: cygwin AT cygwin DOT com, "Hannu E K Nevalainen" <_garbage_collector_ AT telia DOT com> Subject: Re: executable = exe + data Mail-Copies-To: never Reply-To: sds AT gnu DOT org X-Attribution: Sam X-Disclaimer: You should not expect anyone to agree with me. From: Sam Steingold In-Reply-To: (Hannu E. K. Nevalainen's message of "Sun, 1 Jan 2006 19:29:33 +0100") References: Mail-Followup-To: cygwin AT cygwin DOT com, "Hannu E K Nevalainen" <_garbage_collector_ AT telia DOT com> Date: Sun, 01 Jan 2006 13:32:01 -0500 Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com > * Hannu E K Nevalainen <_tneontr_pbyyrpgbe_ AT gryvn DOT pbz> [2006-01-01 19:29:33 +0100]: > > Sam S wrote: >>> * Brian Dessent [2005-12-31 15:46:50 -0800]: >>> >>> Sam Steingold wrote: >>> >>>> Is it possible? >>>> >>>> simply put, it it possible to write something like this: >>>> >>>> int main () { >>>> size_t my_length; >>>> >>>> printf("exe size=%lld\n",my_length); >>>> return 0; >>>> } >>> >>> All the methods mentioned so far are essentially hacks working >>> against the linker, doing stuff behind its back. Why not go with >>> the flow? Put your data in its own section, and write a linker >>> script to handle that section in the desired way. You can access >>> the address by referencing the linker script variables in your >>> source code. See section 3 of the ld manual, particularly 3.5.3. >>> This should work on any platform that uses ld. >> >> the problems with this is that the "data" that is being appended is >> not known at link time and appending it may not require C tools >> (ld/gcc &c). > > Then your options seems to have shrunk to a "launcher" that basicly does > > system("lisp.exe -M lispinit.mem") :-) this is what we have been doing for well over 15 years > Can you elaborate on _why_ the "single executable" is so important? It is not important to _me_, but this is a recurring request by lisp newbies who ask something like "how do I create an executable from my lisp application, similar to C and C++?" -- Sam Steingold (http://www.podval.org/~sds) running w2k http://truepeace.org http://www.mideasttruth.com/ http://www.dhimmi.com/ http://www.openvotingconsortium.org/ http://www.jihadwatch.org/ Garbage In, Gospel Out -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/