X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: rugxulo AT gmail DOT com Newsgroups: comp.os.msdos.djgpp Subject: Re: gcc-4.7.X and native Ada compiler for DJGPP Date: Sat, 16 Jun 2012 17:48:37 -0700 (PDT) Organization: http://groups.google.com Lines: 42 Message-ID: <9907f873-af2f-4b2d-8b77-59ade8f3fc0b@googlegroups.com> References: <4FDC5D93 DOT 2040204 AT iki DOT fi> NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1339894231 5656 127.0.0.1 (17 Jun 2012 00:50:31 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Sun, 17 Jun 2012 00:50:31 +0000 (UTC) Cc: djgpp AT delorie DOT com In-Reply-To: <4FDC5D93.2040204@iki.fi> Complaints-To: groups-abuse AT google DOT com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO User-Agent: G2/1.0 Bytes: 2927 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Hi, On Saturday, June 16, 2012 5:18:59 AM UTC-5, Andris Pavenis wrote: > > I'm getting the following when trying to bootstrap gcc-4.7.1 for DJGPP > with Ada compiler enabled: > > error: "system.ads" has restriction No_Implicit_Dynamic_Code > error: but the following files violate this restriction: > error: "make.adb" > error: "makeutl.adb" > error: "prj.adb" > error: "prj-env.adb" > error: "prj-conf.adb" > error: "prj-nmsc.adb" > make.exe[3]: *** [b_gnatm.adb] Error 5 > make.exe[3]: Leaving directory `g:/build.gcc/gcc/ada/tools' > make.exe[2]: *** [gnattools-native] Error 2 > make.exe[2]: Leaving directory `g:/build.gcc/gnattools' > make.exe[1]: *** [all-gnattools] Error 2 > make.exe[1]: Leaving directory `g:/build.gcc' > make.exe: *** [bootstrap] Error 2 > > Do anybody know how to fix that? I do not know Ada well enough for that > (or more exactly my knowledge about Ada language is close to > non-existent). I had the same problem also with gcc-4.7.0. This was the > reason why DJGPP port of Ada compiler was left out for GCC-4.7.0. I don't know Ada either. A quick Google search shows this: http://gcc.gnu.org/onlinedocs/gnat_rm/No_005fImplicit_005fDynamic_005fCode.html They seem to want to (mostly) avoid "trampolines" that require executable stack code because DEP under Windows doesn't like that. (Though I doubt DOS has the same concerns.) Anyways, a comparison of system.ads from GCC 4.1.2 and 4.6.3 shows that the former didn't have such a pragma enabled at all. I would be surprised if just removing that magically fixed it, but you could try it! " pragma Restrictions (No_Implicit_Dynamic_Code); -- We want to avoid trampolines in the compiler, so it can be used in systems -- which prevent execution of code on the stack, e.g. in windows environments -- with DEP (Data Execution Protection) enabled. "