Xref: utzoo comp.lang.c:12513 comp.arch:6310 Path: utzoo!attcan!uunet!mcvax!hp4nl!philmds!nlgvax!hans From: hans@nlgvax.UUCP (Hans Zuidam) Newsgroups: comp.lang.c,comp.arch Subject: Re: HP/Rumors Summary: HP9000/500 pointers Message-ID: <243@nlgvax.UUCP> Date: 9 Sep 88 07:54:08 GMT References: <580@white.gcm> <2327@mhres.mh.nl> <2921@ttrdc.UUCP> Reply-To: hans@nlgvax.UUCP (Hans Zuidam) Followup-To: comp.arch Organization: Philips Research Geldrop Lines: 41 In article <2921@ttrdc.UUCP> levy@ttrdc.UUCP (Daniel R. Levy) writes: >In article <2327@mhres.mh.nl>, jv@mhres.mh.nl (Johan Vromans) writes: >> A quote from the file etc/MACHINES of the GNU 18.50 distribution: >> >> "The [HP9000] series 500 has a seriously incompatible memory architecture >> "which relocates data in memory during execution of a program, >> "and support for it would be difficult to implement. (This is from memory) When I worked at the Eindhoven University of Technology we had 4 HP9000/500s and we ported emacs to it. The real problem (with emacs 16.??) we had was that emacs assumed that a machine with 32 bit words uses only 24 address bits. The upper 8 were assumed to be free and available for type tags. In essence, it assumed that all machines have a VAX like addressing scheme. The HP9000/500 uses all 32 bits. This same problem occurred every time we tried to port a program which made any assumption on the format of a pointer. The "problem" is that the HP9000/500 has a segmented memory architecture. Each pointer consists of a segment number and a segment offset and then some. At load time the segments are assigned to the program and each pointer (identified as such in the load file) is fixed up with the segment number of its associated data. When you have emacs dump itself to create a faster loadable binary, you would have to write every pointer back with no segment assigned. For arbitrary pointers this is a hell of a job. A colleague of mine succeeded in porting it but without the dump facility. If you are interrested, you can contact him at the following address: Geert Leon Janssen Eindhoven University of Technology, Department of Electrical Engineering, P.O. Box 513, 5600 MB Eindhoven, The Netherlands. (UUCP: ...!mcvax!euteal!geert) -- Hans Zuidam E-Mail: hans@nlgvax.UUCP Philips Telecommunications and Data Systems, Tel: +31 40 892288 Project Centre Geldrop, Building XR Willem Alexanderlaan 7B, 5664 AN Geldrop The Netherlands