>
> We've got a bug in the dynamic linker which makes it die when it's not
> loaded to the address it's linked to. This is bug number one but the
> second bug is the fact that it gets loaded to the wrong address. I
> suspect this may also happen at times on a 32-bit kernel also but it's
> happening much easier on mips64. Easiest way to show this is to run
> /lib/ld.so.1 - it will always die on MIPS64. This brings us to bug number
> three - gdb 4.16 only prints junk from the resulting corefile; I assume
> that the 64-bit kernel doesn't write the registers properly into the core
> file.
>
> Kanoj, got an idea why the kernel might load ld.so to a different address
> than it is linked for?
I don't clearly understand what is going on, but I would start off by
looking at SET_PERSONALITY and TASK_UNMAPPED_BASE when you run
/lib/ld.so.1. May or may not yield anything ...
Kanoj
>
> Note that ldd is running ld.so directly, therefore on an Origin it will
> always say ``not a dynamic executable''. This again will confuse
> libtool into producing wrong library and rpm into generating packages
> without library dependency information and probably a few more
> neat little resulting bugs.
>
> Btw, this same problem should also affect glibc 2.2.
>
> Ralf
>
|