aboutsummaryrefslogtreecommitdiff
path: root/doc/ports/notes.dsux
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /doc/ports/notes.dsux
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'doc/ports/notes.dsux')
-rw-r--r--doc/ports/notes.dsux282
1 files changed, 282 insertions, 0 deletions
diff --git a/doc/ports/notes.dsux b/doc/ports/notes.dsux
new file mode 100644
index 00000000..0f132092
--- /dev/null
+++ b/doc/ports/notes.dsux
@@ -0,0 +1,282 @@
+Begin port to DECstation 3100. 23 July 1989.
+Start with source only archive of VAX/Ultrix system.
+[note - rsh/tar hung up mysteriously while loading files onto decstation,
+[and had to be restarted].
+--------------------------
+
+unix/as.mips +
+unix/bin.mips +
+ Created AS and BIN directories for Dec/MIPS. (7/23)
+
+unix/as.mips/zsvjmp.s
+ Prepared a dummy version of zsvjmp for the moment. All this does is
+ set the output status value to zero. (prepared by using the compiler
+ to generate the assembler source for a small C program). (7/23)
+
+unix/boot/spp/xc.c
+ It appears that for some reason, the MIPS C compiler or linker will
+ not accept a file with a .e extension as the output (-o) file.
+ Had to modify XC to output a .E file temporarily, which is renamed
+ to .e after the link. (7/23)
+
+unix/mkpkg.sh
+unix/os/mkpkg.sh
+unix/shlib/mkpkg.sh
+unix/boot/bootlib/mkpkg.sh
+unix/boot/generic/mkpkg.sh
+unix/boot/mkpkg/mkpkg.sh
+unix/boot/rmbin/mkpkg.sh
+unix/boot/rmfiles/mkpkg.sh
+unix/boot/rtar/mkpkg.sh
+unix/boot/spp/mkpkg.sh
+unix/boot/spp/mkxc.sh
+unix/boot/spp/rpp/mkpkg.sh
+unix/boot/spp/xpp/mkpkg.sh
+unix/boot/wtar/mkpkg.sh
+unix/boot/xyacc/mkpkg.sh
+unix/gdev/sgidev/mkpkg.sh
+unix/bin.mips/fixnames +
+ Modified all the mkpkg.sh files to generate .E files. Added a
+ fixnames script to bin.mips to rename any .E files therein to .e,
+ and added code the the root mkpkg.sh to call fixnames at the
+ end of the bootstrap. (7/23)
+
+unix/hlib/cl.csh
+unix/hlib/mkiraf.csh
+unix/hlib/install
+unix/hlib/libc/iraf.h
+ 1. Modified the iraf root pathnames in these files.
+ 2. In the install, also deleted the entries for edsym.e to avoid
+ an error message during the install. (7/23)
+
+unix/hlib/extern.pkg
+ Commented out the stsdas entries. (7/23)
+
+unix/hlib/mkpkg.inc
+unix/hlib/irafuser.csh
+unix/hlib/mkpkg.sf.MIPS
+ Set MACH to MIPS. Added a case for machine type MIPS. Added an
+ empty special file list. (7/23)
+
+unix/hlib/motd
+ Modified to say DECstation/IRAF. (7/23)
+
+unix/os/zxwhen.c
+ Added a #ifdef mips section with some hardware exception codes for
+ the MIPS. (7/23)
+
+--------------------
+Start bootstrap. (7/23)
+
+unix/hlib/irafuser.csh
+ Linking of RPP produced a "gp relocation out of range" error message.
+ It was necessary to compile with "-G 0" (no global variables indexed
+ by global pointer) in order to get this to go away. (7/23)
+
+unix/boot/bootlib/mkpkg.sh
+ Modified to mv libboot.a to $hbin (../../bin) rather than $hlib,
+ since the libboot.a in $hlib is a symbolic link. (7/23)
+
+--------------------
+Start sysgen. (7/23)
+
+unix/as/gkiprint.o +
+unix/hlib/mkpkg.sf.MIPS
+ The file gkiprint.x would fail with a slew (like, 700) syntax and
+ other errors. There was nothing wrong with the code and the few
+ workarounds I tried had no effect. I finally managed to compile
+ the file by breaking it up into half a dozen pieces, compiling each
+ separately, and linking the resultant objects into a single large
+ object gkiprint.o. Since this bug will probably go away before long
+ I merely placed the manually generated object file in AS, and made
+ an entry in the special file list to use this object. (7/23)
+
+unix/as/imsetr.f +
+unix/hlib/mkpkg.sf.MIPS
+ In this case the file imsetr.f would cause the first pass of f77
+ to core dump (not an optimizer problem). I had to hack the fortran
+ code to workaround the bug, placing the hacked file in AS. The
+ offending statement was:
+
+ memi(im+33) = and (memi(+33) , not(1 ))
+
+ the following version is ok:
+
+ i = not(1)
+ memi(im+33) = and (memi(+33) , i)
+
+ The bug must have something to do with the bit intrinsics. (7/23)
+
+unix/as/fseti.f + # FIO
+unix/as/fmfcache.f + # FMIO
+unix/as/fmlfbrd.f +
+unix/as/fmlfbwr.f +
+unix/as/fmlfcopy.f +
+unix/as/fmlfundel.f +
+unix/hlib/mkpkg.sf.MIPS
+ Modified to work around the same compiler bug as above. The NOT of
+ any compile time integer constant used in an expression seems to
+ always cause a core dump. (7/23)
+
+unix/boot/spp/xc.c
+unix/hlib/mkpkg.inc
+ 1. In the first sysgen, x_images.e failed to link with a "gp relocation
+ out of range" type problem. Recompiling the IMAGES package libpkg.a
+ with -G 0 fixed the problem.
+ 2. Passing this flag through XC, however, was not possible without
+ a code change to XC, as there was no way to pass two consecutive
+ arguments such as "-G 0". In order to support this XC was modified
+ to permit flags of the form "-/#flag", which are passed as "flag".
+ This is similar to "-/flag" which is passed as "-flag", except that
+ it allows flags with no "-" to be passed. Hokey, but backwards
+ compatible and it solves the problem. (7/23)
+
+-----------------
+Started sysgen of NOAO packages. (7/23)
+
+noao/lib/database.o +
+noao/lib/mkpkg.inc
+noao/lib/mkpkg.sf.MIPS
+ The database.x file in DTOI would cause the compiler to become
+ terminally confused, as with gkiprint above. Manually constructed
+ the database.o object, placed the latter in noao$lib, and modified
+ the NOAO special file list to use this object rather than try to
+ compile the file. (7/24)
+
+unix/hlib/config.h
+unix/hlib/libc/spp.h
+ Set the size of the ZDOJMP jump buffer to 84 (83 ints for the jmp_buf
+ buffer plus 1 for the address of the status variable). (7/24)
+
+unix/as.mips/zsvjmp.s
+ Wrote and installed the real zsvjmp.s. (7/24)
+
+-------------------
+Sysgen/relink with new zsvjmp.
+Everything appears to work now. (7/24)
+
+bin.mips
+noao/bin.mips
+ Stripped the BINS to save disk space, as it appeared that the symbol
+ table information is unusually large on the decstation. (7/25)
+
+ Normal Stripped
+
+ core system bin 21.5 16.0
+ noao bin 18.0 12.3
+ ------- --------
+ 39.5 28.3
+
+unix/as/zsvjmp.s
+ Modified slightly to eliminate a delay slot. This failed to work
+ at first and I eventually discovered that the reason was that the
+ *assembler* was modifying my assembler code, reordering the
+ instructions and inserting nop's in delay slots, producing invalid
+ code! I had to add a "noreorder" directive to get it to leave the
+ code alone. (7/25)
+
+unix/os/zxwhen.c
+ As a first step in testing exception handling I tried the following
+ in the CL:
+
+ cl> = 5 / 0
+
+ This caused the CL to core dump on the uncaught signal SIGTRAP.
+ On all other unix systems thus far, integer divide by zero has been
+ mapped to SIGFPE, but on the MIPS it is a trap. Modified zxwhen.c
+ to map SIGTRAP onto the VOS exception class X_ARITH. (7/25)
+
+unix/os/zzstrt.c
+ Added the following #ifdef mips code to zzstrt, to enable the overflow,
+ invalid, and divzero IEEE exceptions:
+
+ set_fpc_csr (get_fpc_csr() | 07000);
+
+ The {set|get}_fpc_csr() routines appear to be undocumented but I
+ found them anyhow by searching the symbol tables of the host libraries
+ in /usr/lib. (7/25)
+
+ [LATER] Well, enabling the IEEE exceptions works, but somehow this
+ is making the software misbehave in a way I do not yet understand
+ and do not have time to look into right now. Completely unrelated
+ things like "stty vt100", "imheader dev$pix" fail mysteriously with
+ the IEEE trap enable bits set in the FPU context and status register.
+ This doesn't make any sense and we will have to do without the IEEE
+ traps for now. Possibly this is due to a bug in the OS which will
+ go away in the next release.
+
+unix/hlib/mkfloat.csh
+ The code in this script which lists the tar archive back with
+ "tar -tf", to verify that a good archive has been generated before
+ deleting the files, does not work on the DECstation. The problem
+ is that tar -tf produces different output here than on the other
+ systems; the directories are listed as files in addition to the files.
+ I had to change the
+
+ tar -tf
+ to
+ tar -tf | grep -v '/$'
+
+ to get things to work. (7/26)
+
+
+unix/bin.mips
+noao/bin.generic
+bin.generic
+ Stripped all the executables (HSI, IRAF, NOAO).
+ Made IRAF and NOAO generic. (7/26)
+
+
+Summary of various problems encountered.
+-------------------
+
+ fortran compiler core dumps
+ c compiler core dumps
+ cannot -o to a .e file
+ rsh|tar hung once
+ NO ADB!!
+ dbx dies occasionally with internal error: stack overflow
+ 2 user limit on logins - prevents even having two windows
+ open from Sun with a different rlogin session in each.
+ System is very fast single user; much slower if anything else
+ is running on the machine (memory too small?).
+ System crashed on first day of testing with 2 users busy doing things.
+ (there did not seem to be a system message file).
+ Some routines which use floating point produce different results on
+ the MIPS than on other systems. Examples thus far are the FITS
+ programs, and IMHISTOGRAM. No doubt more will be discovered.
+ IEEE exception handling is not working currently.
+
+
+----------------
+V2.8BETA system frozen and archived. (7/26)
+
+----------------
+Begin upgrade to V2.9ALPHA, 6 DEC 1989.
+Working with newly arrived IRAF DECstation 3100!
+
+ Installed the V2.8ALPHA HSI.
+ Merged in all relevant V2.9 modifications to the HSI.
+
+unix/boot/spp/xc.c
+ Changed the syntax "-/#foo" -> "foo" to "-//foo" -> "foo" for
+ escaping command line arguments to XC. (1/6)
+
+----------------
+Started a bootstap. (1/6)
+
+mkpkg
+ Extended the mkpkg summary filter in the root mkpkg to filter out
+ the great number of "local variable iyy never used" warning messages
+ produced by the MIPS compiler. (1/6)
+
+pkg/plot/t_graph.x
+ This file contained a routine im_projection equivalent to a routine
+ of the same name in file improject.x, resulting in two externals of
+ the same name in the package library. (1/7)
+
+unix/boot/spp/xc.c
+ To avoid a circular reference problem in the DS3100 Fortran libraries,
+ which causes an undefined symbols "s_abort" problem when linking some
+ programs, added a second search of libF77 to the end of the XC host
+ library link list, after the -lm. (1/7)