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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5ca3d5098e21bb51 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!wn13feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Newsgroups: comp.lang.ada From: anon@anon.org (anon) Subject: Re: What are the limitations imposed by GNAT without runtime? Reply-To: anon@anon.org (anon) References: <1191947316.791605.8420@50g2000hsm.googlegroups.com> <1192042858.495410.139280@d55g2000hsg.googlegroups.com> X-Newsreader: IBM NewsReader/2 2.0 Message-ID: Date: Thu, 11 Oct 2007 03:05:54 GMT NNTP-Posting-Host: 12.64.128.208 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1192071954 12.64.128.208 (Thu, 11 Oct 2007 03:05:54 GMT) NNTP-Posting-Date: Thu, 11 Oct 2007 03:05:54 GMT Organization: AT&T Worldnet Xref: g2news2.google.com comp.lang.ada:2426 Date: 2007-10-11T03:05:54+00:00 List-Id: You create a corrupt build. First, delete *.o *.ali Second, you use "gnat compile kernel.adb -S" this feature does not build the object file kernal.o To build the object file must use either => "gnat compile kernel.adb -S" "gcc -c kernel.s" or go back and use => "gnat compile kernel.adb" Then => "gnat bind kernel.ali" or "gnatbind kernel.ali" followed by => "gnat link kernel.ali" or "gnatlink kernel.ali" Then try objdump. You will not find "ONETWO" in the version that has "pragma NO_RUN_TIME ;" As for then "Zero Foot Print" documentation, well in GNAT that seams to be based in the PRO version. The default for the compiler is in Targparm package, but can be altered by editing the System package. In <1192042858.495410.139280@d55g2000hsg.googlegroups.com>, Lucretia writes: >On Oct 10, 6:51 pm, a...@anon.org (anon) wrote: >> To test this type: "gnat compile kernel.adb -S" >> Then check the file: "kernel.s" >> >> You will see that without the "pragma NO_RUN_TIME" statement >> there is a data string of "ONETWO" which can be use by IMAGE >> attribute. But with the pragma the string "ONETWO" is >> removed as well as the code that uses the data string, so >> you have to build your own version. > >Well, the assembly doesn't give any ASCII representation, but doing an >objdump on the file does. > >Basically, the pragma No_Run_Time definitely has no effect on gnat >4.2.2, the string is there with or without the pragma. > >> Now in my answer I provide an example function based on your type with >> two objects. If you had a type with more than a couple of objects, then >> you might want to use an array with the type value as part of the index >> algorithm to that array. >> >> This is one of the problems using the "pragma NO_RUN_TIME ;" >> statement! Which became obsolescent after GNAT 3.15P . >> >> From the GNAT_RM 3.15P : > >I really don't fancy trying to build an older gnat, especially on a 64 >bit OS. > >> Now, from the GCC 4.3 => GNAT_RM : >> >> Chapter 14: Obsolescent Features 211 >> >[snip] >> 14.1 pragma No Run Time >> >> The pragma No_Run_Time is used to achieve an affect similar to the >> use of the "Zero Foot Print" configurable run time, but without > >And this ZFP profile doesn't exist in the gcc-4.2.2 docs, it's >mentioned in 14.1, but that's all. > >Luke. >