Aucbvax.3164
fa.unix-wizards
utzoo!decvax!ucbvax!unix-wizards
Tue Sep 15 18:59:26 1981
PDP-11 Compatibility on VAXen
>From allegra!jdd@Berkeley Tue Sep 15 18:54:48 1981
The compatibility package to allow PDP-11 programs to run on VAXen (which
you can find in /usr/src/games/compat) provides two basic functions: it
provides a Unix environment for the PDP-11 programs, mostly by interpreting
trapped system calls, and it provides a floating-point environment for them,
by interpreting trapped floating-point operations.

The floating-point package is complete trash.  For my application, I had to
totally re-implement it (which was much easier in the end than making it
work would have been).

The Unix environment stuff is better; I found only one major bug.  The
compatibility package catches all signals and determines their disposition.
In particular, if it was in the compatibility package when the signal
happened and if the signal should be reflected to the user, it twiddles user
space to make it seem that the appropriate routine there has been called.
The problem is that it might have been in the middle of a system call when
the signal was caught, and the result of that system call should go in the
stack frame it creates, \but/ it doesn't know what the result is yet.  This
can be fixed in a variety of ways, all of which depend on remembering the
signal and filling in the appropriate value at the appropriate time.

Cheers,
John

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.