On Fri Oct 07, 2011 at 04:34:41 +1300, Valery V. Sedletski wrote:
On Fri, 07 Oct 2011 01:20:19 +1300 (MSD), Valery V. Sedletski wrote:
Maybe, I must build a custom libloader.s.so version which loads at different address? Or maybe, there is a legal way to move libloader.s.so to another address? -- I know that, for example, thread lib heap can be moved from its default position by changing a variable which is defined as a weak symbol. So, maybe it could be done likewise? Help, please..
A correction: when using the dynamic loading, there is an ldso at 0x10000, not libloader. So, an idea: maybe, it is possible to compile ldso as a static lib, and link it statically to the binary? -- Then it will load at the binary link address, not 0x10000 and it will be free..
There's no way to change that address at runtime. Please just change it in the code (loader/server/src/app.cc, APP_ADDR_LDSO) and try that. Changing the way the linking is done is probably much more troublesome. In L4Re this should work better as the lower region of the virtual address space is not used for that purpose.
Adam