This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: executable = exe + data
- From: Brian Dessent <brian at dessent dot net>
- To: cygwin at cygwin dot com
- Date: Sat, 31 Dec 2005 15:46:50 -0800
- Subject: Re: executable = exe + data
- References: <uek3vqivg.fsf@gnu.org>
- Reply-to: cygwin at cygwin dot com
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.
Brian
--
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/