Article View: comp.sys.atari.st
Article #26261Re: uniterm size
From: manis
Date: Sun, 12 Apr 1987 17:43
Date: Sun, 12 Apr 1987 17:43
47 lines
3307 bytes
3307 bytes
In article <4475@utah-cs.UUCP> sandra@utah-cs.UUCP (Sandra J Loosemore) writes:
>Given the straightforward nature of .o files on the ST (at least as produced
>by the Alcyon assembler), it should not be too difficult to implement a
>dynamic linking routine.... In fact, this is something that's on my
>queue of things to hack on. PSL (Portable Standard Lisp) under Un*x
>and VMS has something similar, that allows you to link in arbitrary
>code into a running Lisp system. I did the VMS implementation myself, and
>I expect the same approach would work on the ST: you run the files through
>the linker to resolve external references between them, then load the
>result into memory and return the addresses of the global symbols it
>defines.
One of the few astonishingly nice features of VMS is that it has a linker
and runtime library which support any known language. This is true in UNIX
as well, if you define "any language" to mean "any language whose compiler
is based on pcc" (i.e., C, f77, and Pascal). This is emphatically not so
on micros (more's the pity). For instance, my preferred programming
environments are Mark Williams C and TDI Modula-2, both of which have their
own linkers. Mark Williams C can handle (with limitations) DRI object
modules, but it's not very nice. On the other hand, Simon uses Personal
Pascal (I believe), so I wouldn't want to depend on his compiler generating
code which my linker can process (even in some compatibility mode).
I wish there were a standard ST linker format (I used to do a lot of
computing on IBM 360's and 370's, using a brain-damaged operating system
called MTS; it was common to take object code from an OS/VS or CMS system,
link it with assembler I/O code, and execute with no errors.) However, there
isn't. I respect Simon's decision not to distribute source code. In that
case, an executable program format is fine.
One other point: the ST does support a system call called Pexec. There's no
reason that optional utility modules could not be supported as stand-alone
programs. (I've got a tangle of programs which run together under
Micro-Emacs that way). I don't see how to structure a terminal emulator
this way (though maybe the Kermit and Xmodem packages might be candidates),
but it is a good solution in general.
-----
Vincent Manis {seismo,uw-beaver}!ubc-vision!ubc-cs!manis
Dept. of Computer Science manis@cs.ubc.cdn
Univ. of British Columbia manis%ubc.csnet@csnet-relay.arpa
Vancouver, B.C. V6T 1W5 manis@ubc.csnet
(604) 228-6770 or 228-3061
"BASIC is the Computer Science equivalent of 'Scientific Creationism'."
Technical Details
Message-ID:
<993@ubc-cs.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!rutgers!mit-eddie!uw-beaver!ubc-vision!ubc-cs!manisReferences:
<282@tutor.tut.UUCP> <4468@utah-cs.UUCP> <812@viper.UUCP> <4475@utah-cs.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!rutgers!mit-eddie!uw-beaver!ubc-vision!ubc-cs!manis From: manis@ubc-cs.UUCP Newsgroups: comp.sys.atari.st Subject: Re: uniterm size Message-ID: <993@ubc-cs.UUCP> Date: Sun, 12-Apr-87 12:43:58 EST Article-I.D.: ubc-cs.993 Posted: Sun Apr 12 12:43:58 1987 Date-Received: Tue, 14-Apr-87 00:46:02 EST References: <282@tutor.tut.UUCP> <4468@utah-cs.UUCP> <812@viper.UUCP> <4475@utah-cs.UUCP> Reply-To: manis@ubc-cs.UUCP (Vincent Manis) Distribution: comp Organization: UBC Department of Computer Science Lines: 47