[omniORB] omniORB and Windows
Andrew Stitcher
astitcher@orchestream.com
Mon, 14 Jun 1999 18:15:57 +0100
> This is not the problem. Windows DLL's are compiled with a default address
> to load into memory. If two DLL's happen to be compiled with the same
> address, Windows automatically relocates the DLL to a non conflicting part
> of memory. If a DLL is relocated, I believe an additional memory reference
> is required when accessing anything exported from the DLL. You can safely
> ignore this message.
Although this is quite true in that the program loader will
automatically relocate DLLs that have the same load address as
another DLL, if this happens it negates many of the benefits of
having a DLL - the program text is no longer sharable as it has been
fixed up for the new address, especially as the DLL may start at
different addresses in different executables.
The way to fix the problem is to use the rebase utility to fix up the
DLLs for a non-default address.
(This is something we do for the omniORB DLLs ourselves, as it's not
done in the makefiles)
Andrew