We got closer to the source of our trouble since yesterday. While running
the Linux version, it makes one call that the OS X version doesn't. While
looking more closely at the runtime execution, the OS X version tries to
make the same call than the Linux version, but obtains the wrong address for
the symbol it is looking for (actually pointing to p.sys_reset_signal by
mistake - which is a data symbol).
We've looked more closely at the _extern definition (we were suspecting it),
but it's too high level (only looking at pop11 code and not platform
specific assembly generation).
My employees have targeted 2 other .p files that are more low level and may
well be involved in getting a symbol's address while generating the assembly
files (sadly I don't have their name in front of me - asmout.p being one of
them if I remember well).
My question is the following: Where is it in the code that a symbol name is
translated into an address in memory? Our problem most probably relies at
that point since we now know as a fact that we're passing the right symbol
name, but get the wrong address. I know we can find this provided the right
attention, but would like to save the time if possible.
Thanks for your help.
Philippe Roy
Manager
Deltagreen USA Inc.
|