| delorie.com/archives/browse.cgi | search |
| 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/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |