delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2012/06/16/21:15:17

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
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

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.
"

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019