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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107079,eca28648989efca9 X-Google-Attributes: gid107079,public X-Google-Thread: f74ae,eca28648989efca9 X-Google-Attributes: gidf74ae,public X-Google-Thread: 101deb,885dab3998d28a4 X-Google-Attributes: gid101deb,public X-Google-Thread: 103376,885dab3998d28a4 X-Google-Attributes: gid103376,public From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) Subject: Re: Ariane 5 failure Date: 1996/10/03 Message-ID: <52vaj6$nh@goanna.cs.rmit.edu.au>#1/1 X-Deja-AN: 186872664 distribution: inet references: <1780FB1E3.KUNNE@frcpn11.in2p3.fr> <324F1157.625C@dynamite.com.au> <52p49m$kug@beyond-software.com> organization: Comp Sci, RMIT, Melbourne, Australia newsgroups: sci.astro,sci.math.num-analysis,comp.lang.pl1,comp.lang.ada nntp-posting-user: ok Date: 1996-10-03T00:00:00+00:00 List-Id: "Wayne L. Beavers" writes: >I have been reading this thread awhile and one topic that I have not >seen mentioned is protecting the code area from damage. I imagine that everyone else has taken this for granted. UNIX compilers have been doing it for years, and so I believe have VMS ones. >When I code in PL/I or any other reentrant language I always make sure >that the executable code is executing from read-only storage. (a) This is not something that the programmer should normally have to be concerned with, it just happens. (b) It cannot always be done. Run-time code generation is a practical and important technique. (Making a page read-only after new code has been written to it is a good idea, of course.) >There is no way to put the data areas in read-only storage (obviously) It may be obvious, but in important cases it isn't true. UNIX (and I believe VMS) compilers have for years had the ability to put _selected_ data in read-only storage. And of course it is perfectly feasible in many operating systems (certainly UNIX and VMS) to write data into a page and then ask the operating system to make that page read-only. >but I can't think of any reason to put the executable code in writeable >storage. Run-time binary translation. Some approaches to relocation. How many reasons do you want? >I one had to port 8,000 subroutines in PL/I, 24 megabytes of executable >code from one system to another. In a language where the last revision of the standard was 1976? You have my deepest sympathy. -- Australian citizen since 14 August 1996. *Now* I can vote the xxxs out! Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.