In theory, it's easy to prove that some programs cannot be relocated, period. Anybody who has been programming long enough has seen people re-use a memory location as both an address and a constant in order to keep the program small enough (12k OK; 12k + 2 bytes really bad news). That can't be relocated. Even under the assumption that locations aren't re-used, it's provably impossible (Turing-complete) to determine whether the contents of a location can be used as an address by a program. That said, _if_ a program is relocatable, relocating it would seem to be an easy way to gain some security. Whether that's worth the cost (in fragility and undebuggability) is another question. Seth