This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: executable = exe + data


> * Hannu E K Nevalainen <_tneontr_pbyyrpgbe_@gryvn.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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]