Relocate LispWorks by passing two parameters: the base address and the reserve amount. Both are optional. The interpretation of these parameters is very different between 64-bit LispWorks and 32-bit LispWorks.
To relocate a LispWorks executable on non-Windows platforms, pass one or both of these command line arguments:
The base address, interpreted as a hexadecimal number by calling strtol( BaseAddress ,NULL,16))
The reserve size, interpreted as a hexadecimal number by calling strtol( ReserveSize ,NULL,16))
There is currently no way to control the relocation of a LispWorks for Windows executable.
On all relocatable platforms, a LispWorks dynamic library or Windows DLL can be relocated by calling
InitLispWorks
with second and/or third argument non-zero.
On non-Windows platforms, you can add the appropriate call to
InitLispWorks
in wrappers written in C and added to the dynamic library by passing
dll-added-files
to
save-image
or
deliver
. There is no such option in LispWorks for Windows.
The startup relocation takes some time, normally less than 0.1 seconds on a modern machine. If the relocation address is fixed and known, this startup overhead can be eliminated by relocating the image before calling
save-image
or
deliver
.