From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,945d0baf2e74e805,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-17 23:53:37 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!wn1feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi.com!sccrnsc01.POSTED!not-for-mail From: Caffeine Junky Subject: Creating really small binaries? Newsgroups: comp.lang.ada User-Agent: Pan/0.11.3 (Unix) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Comment-To: ALL Message-ID: NNTP-Posting-Host: 12.245.48.122 X-Complaints-To: abuse@attbi.com X-Trace: sccrnsc01 1024383216 12.245.48.122 (Tue, 18 Jun 2002 06:53:36 GMT) NNTP-Posting-Date: Tue, 18 Jun 2002 06:53:36 GMT Organization: AT&T Broadband Date: Tue, 18 Jun 2002 06:53:36 GMT Xref: archiver1.google.com comp.lang.ada:26212 Date: 2002-06-18T06:53:36+00:00 List-Id: I'm looking for tips on how to make my executables really tiny. More specifically I'm interested in keeping the memory used by the running executable really small. I realize that much of it is determined by the compiler being used(GNAT, Aonix, Green Hills, etc...) and the platform(using Linux 2.4 here). A small executable on disk would be a nice bonus, but not particularly important. Since Ada has shown itself to be excellent for embedded systems, which normally have much less RAM(if any at all) than the standard PC, I'm sure that this is not much of a problem. Now, I dont plan on linking to any shared C libs at first.(except of course glibc which is usually used by default with GNAT on Linux systems). The only problem I forsee is when it comes time to do GUI work, which has an unfortunate tendency to bloat things. I hope to overcome this by creating a limited interface directly to XLib. Of course there are all the standard tools such as -O2 and strip. Any suggestions on where I should begin?