Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!ames!amdcad!phil From: phil@amdcad.UUCP Newsgroups: comp.arch Subject: Re: catering to bad code Message-ID: <15014@amdcad.UUCP> Date: Sat, 28-Feb-87 22:02:06 EST Article-I.D.: amdcad.15014 Posted: Sat Feb 28 22:02:06 1987 Date-Received: Sun, 1-Mar-87 17:25:14 EST References: <14833@amdcad.UUCP> <14837@amdcad.UUCP> <436@cpocd2.UUCP> <64@celerity.UUCP> Reply-To: phil@amdcad.UUCP (Phil Ngai) Distribution: world Organization: Advanced Micro Devices, Sunnyvale, California Lines: 31 I'm glad to see some people are mildly interested in this subject. :-) I didn't make very clear the purpose of the Unix system I'm designing. It is intended to be a throw-away. We only want to bring it up to show that Unix can be brought up, and to see how fast it runs. We don't intend to sell this software as a product. As such, our only interest is in doing it fast and to be able to run as much existing software as possible. I think the best thing to do is make accessing null pointers a segmentation violation by default and be able to allow it as needed. Perhaps we could discuss the best method of doing this, so as to try to provide a common mechanism. HP's method, for example sounds interesting. Should the choice be made at link time, at load time, at system configuration time, or something else? Should there be special magic numbers to ask the kernel to load with null pointers returning 0 on a data read? Etc. As an unlikely example, suppose you bought a binary from a vendor who used a permissive kernel and yours was strict. Someone mentioned that just returning 0 for the first 2 or 4 bytes was not enough, as there is code that accesses structure members with null structure pointers. (how perverse can you get?) Is this really a problem? Have many people seen this? -- I'd rather be compatible than right. Phil Ngai +1 408 982 7840 UUCP: {ucbvax,decwrl,hplabs,allegra}!amdcad!phil ARPA: amdcad!phil@decwrl.dec.com