delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/01/01/13:33:17

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 <sds AT gnu DOT org>
In-Reply-To: <JAEBIEIILHAGMJNFODIEOENBCCAA._garbage_collector_@telia.com> (Hannu E. K. Nevalainen's message of "Sun, 1 Jan 2006 19:29:33 +0100")
References: <ur77rq1kz DOT fsf AT gnu DOT org> <JAEBIEIILHAGMJNFODIEOENBCCAA DOT _garbage_collector_ AT telia DOT com>
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: <umzifpzoe.fsf@gnu.org>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt)
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <blip> [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;
>>>>   <some magic>
>>>>   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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019