evaluating math w/o recompile

Doug Gwyn gwyn at smoke.BRL.MIL
Sun Sep 17 10:58:32 AEST 1989


In article <225800223 at uxe.cso.uiuc.edu> mcdonald at uxe.cso.uiuc.edu writes:
-due apparently to X3J11 bowing to the concerns of manufacturers
-of brain-dead computers and operating systems, there is absolutely
-no guarantee that you can EXECUTE that code. 

I consider that an implementation that lets you set the PC to
data space is brain dead.

-Actually the situation is not too bad on most computers - for
-example, on MS-DOS or VMS there is no problem at all. There you
-can just cast a pointer to the data array to a code pointer and
-go to town.

My opinion of VMS just dropped another notch.  The VAX architecture
permits enforcement of code/data separation, and one would think it
would be used for tasks resulting from compilation of C source code.

Certainly there are uses for the facility of executing instructions
out of data space.  The bit-blit code for some of the Blit family
of terminals works like that, for example.  But for most applications,
the added safety check is much more useful than the ability to execute
out of data space.  And as we've pointed out before, some environments
require the separation.



More information about the Comp.lang.c mailing list