neil@cs.hw.ac.uk (Neil Forsyth) (07/27/89)
With respect to the recently posted pack/unpack programs posted to the binaries group I have thought about a few problems that might result when packing executables:- * How does GEMDOS feel about loading a program with a header that does not properly reflect the program that will be run? Even if the base-page is set up accordingly, GEMDOS has seen the weird one first and may have already set up some internal variables. * Also when a program is loaded it is given the largest free area of memory. If there is not enough memory Pexec returns an error. Programs that run bigger than their header states will cause problems here (stack trampling, screen corruption, bus errors etc). * The unpacker that is glued on to the program will have to relocate the host program itself. Possible future uses of the currently unused odd relocation values will be lost here. * It will also break if a TOS patch ever has to modify the program before executing it. Personally I am not happy with the idea. Compacting data files is fine and I like it, but not executable programs. I invite Atari themselves to to comment on this because they probably know of even more horror stories that could result (and I can also ask them to post the Pexec cookbook they promised us long ago). +-----------------------------------------------------------------------------+ ! DISCLAIMER: Unless otherwise stated, the above comments are entirely my own ! ! ! ! "I think all right thinking people in this country are sick and tired of ! ! being told that ordinary decent people are fed up in this country with ! ! being sick and tired. I'm certainly not and I'm sick and tired of being ! ! told that I am!" - Monty Python ! ! ! ! Neil Forsyth JANET: neil@uk.ac.hw.cs ! ! Dept. of Computer Science ARPA: neil@cs.hw.ac.uk ! ! Heriot-Watt University UUCP: ..!ukc!cs.hw.ac.uk!neil ! ! Edinburgh, Scotland, UK ! +-----------------------------------------------------------------------------+