In general, it is not possible to modify packages to deal with large images independently of each other; before changing a package to use 64 bits, it is necessary that all the packages on which it depends are 64-bit compatible. Certain packages, which are used only at a command-line level, may not need changes to the code, but in general a package which provides a library against which other code is to link must be modified, since the public interfaces of the routines, specifically the types of integer arguments, will change. Additionally, in the case of Solaris, 32-bit and 64-bit object types cannot be mixed by the link loader.
At some point in the future, it may be that support for 32-bit systems is dropped, but at the moment this is undesirable, since Solaris systems running 32-bit kernels would be incapable of running code compiled for 64 bits. Older Suns (before SPARC v9) cannot be made to run the 64-bit kernels.
For these reasons, the transfer to 64 bits will be approached effectively as ports to new systems, which will be supported alongside the existing ones. All Starlink packages should therefore come to include support for two new values of the makefile/mk SYSTEM variable: ``alpha_OSF1_64'' and ``sun4_Solaris_64''.