On Dec 16, 2007, at 4:10 PM, Marc Piulachs wrote:
Hi Alex,
Let me see if I understood this correctly. The problem is not
really on
manually choosing the base address, the problem is that module's
"baseaddress" attribute is optional, even when the module is of type
"win32dll", if this attribute is empty rbuild sets a common default
base
address (0x10000000 for win32 dll's).
No, the problem is exactly choosing the address: modules overlap with
each other, and manually calculating baseaddresses often doesn't
work. Alex proposed to automate this process and do a
baseaddress.rbuild file generator.
There are not many dlls with baseaddress missing, and if it's
missing, it should be added to those (in trunk).
AFAIK we are using the same base address that the
equivalent
component has
on windows so auto generating it using any sort of tool is not
really an
option.
Not really, in most cases (might be with a few exceptions), it's not
possible to use exactly Windows' base address (because size of our
modules and windows modules often differs). The problem is to
distribute the dlls in the memory address space so that they don't
overlap.
As for baseaddress in xml form - baseaddress is a module's property,
it's not a standalone object which is part of the module. I don't see
why it should be given a standalone tag (maybe I'm missing something).
WBR,
Aleksey Bragin.